emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] [PATCH] Allow iCalendar to use UTC for exported date-time.


From: Rémi Vanicat
Subject: [Orgmode] [PATCH] Allow iCalendar to use UTC for exported date-time.
Date: Fri, 10 Sep 2010 16:58:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Define a new variable org-icalendar-use-UTC-date-time that when
non-nil make icalendar exporter to use UTC date-time for better
compatibility with some other software (as GCALDaemon).
---
 lisp/org-icalendar.el |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/lisp/org-icalendar.el b/lisp/org-icalendar.el
index c374e2e..1e3c798 100644
--- a/lisp/org-icalendar.el
+++ b/lisp/org-icalendar.el
@@ -194,6 +194,13 @@ When nil of the empty string, use the abbreviation 
retrieved from Emacs."
          (const :tag "Unspecified" nil)
          (string :tag "Time zone")))
 
+(defcustom org-icalendar-use-UTC-date-time ()
+  "Non-nil force the use of the universal time for iCalendar DATE-TIME.
+The iCalendar DATE-TIME can be expressed with local time or universal Time,
+universal time could be more compatible with some external tools."
+  :group 'org-export-icalendar
+  :type 'boolean)
+
 ;;; iCalendar export
 
 ;;;###autoload
@@ -634,8 +641,13 @@ a time), or the day by one (if it does not contain a 
time)."
                (setq h (+ 2 h)))
            (setq d (1+ d))))
        (setq time (encode-time s mi h d m y)))
-      (setq fmt (if have-time ":%Y%m%dT%H%M%S" ";VALUE=DATE:%Y%m%d"))
-      (concat keyword (format-time-string fmt time)))))
+      (setq fmt (if have-time (if org-icalendar-use-UTC-date-time 
+                                 ":%Y%m%dT%H%M%SZ"
+                                 ":%Y%m%dT%H%M%S")
+                   ";VALUE=DATE:%Y%m%d"))
+      (concat keyword (format-time-string fmt time 
+                                         (and org-icalendar-use-UTC-date-time 
+                                              have-time))))))
 
 (provide 'org-icalendar)
 
-- 
1.7.1





reply via email to

[Prev in Thread] Current Thread [Next in Thread]