Variable: diary-icalendar-time-zone-export-strategy
diary-icalendar-time-zone-export-strategy is a customizable variable
defined in diary-icalendar.el.gz.
Value
local
Documentation
Strategy to use for exporting clock times in diary files.
The symbol local (the default) means to assume that times are in the
time zone determined by calendar-current-time-zone. The time zone
information returned by that function will be exported as an iCalendar
VTIMEZONE component, and clock times in the diary file will be exported
with a reference to that time zone definition.
On some systems, calendar-current-time-zone cannot determine time zone
information for the local time zone. In that case, you can set this
variable to a list in the format returned by that function:
(UTC-DIFF DST-OFFSET STD-ZONE DST-ZONE
DST-STARTS DST-ENDS DST-STARTS-TIME DST-ENDS-TIME)
This list describes the time zone you would like to use for export. See
the docstring of calendar-current-time-zone for details. Times in the
diary file will be exported like with local for this time zone.
The other possible values for this variable avoid the need to include any time zone information in the exported iCalendar data:
The symbol to-utc means to re-encode all exported times to UTC
time. In this case, export will assume that times are in Emacs local
time, and rely on encode-time and decode-time to convert them to UTC
times.
The symbol floating means to export clock times without any time
zone identifier, which the iCalendar standard (RFC5545) calls
"floating" times. RFC5545 specifies that floating times should be
interpreted as local to whichever time zone the recipient of the
iCalendar data is currently in (which might be different from your local
time zone). You should only use this if that behavior makes sense for
the events you are exporting.
This variable was added, or its default value changed, in Emacs 31.1.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/diary-icalendar.el.gz
(defcustom di:time-zone-export-strategy
'local
"Strategy to use for exporting clock times in diary files.
The symbol `local' (the default) means to assume that times are in the
time zone determined by `calendar-current-time-zone'. The time zone
information returned by that function will be exported as an iCalendar
VTIMEZONE component, and clock times in the diary file will be exported
with a reference to that time zone definition.
On some systems, `calendar-current-time-zone' cannot determine time zone
information for the local time zone. In that case, you can set this
variable to a list in the format returned by that function:
(UTC-DIFF DST-OFFSET STD-ZONE DST-ZONE
DST-STARTS DST-ENDS DST-STARTS-TIME DST-ENDS-TIME)
This list describes the time zone you would like to use for export. See
the docstring of `calendar-current-time-zone' for details. Times in the
diary file will be exported like with `local' for this time zone.
The other possible values for this variable avoid the need to include
any time zone information in the exported iCalendar data:
The symbol `to-utc' means to re-encode all exported times to UTC
time. In this case, export will assume that times are in Emacs local
time, and rely on `encode-time' and `decode-time' to convert them to UTC
times.
The symbol `floating' means to export clock times without any time
zone identifier, which the iCalendar standard (RFC5545) calls
\"floating\" times. RFC5545 specifies that floating times should be
interpreted as local to whichever time zone the recipient of the
iCalendar data is currently in (which might be different from your local
time zone). You should only use this if that behavior makes sense for
the events you are exporting."
:version "31.1"
:type
'(radio (const :tag "Use TZ from `calendar-current-time-zone'" local)
(const :tag "Convert local times to UTC" to-utc)
(const :tag "Use floating times" floating)
(sexp :tag "User-provided TZ information"
:match icr:-tz-info-sexp-p
:type-error
"See `calendar-current-time-zone' for format"))
:link '(url-link "https://www.rfc-editor.org/rfc/rfc5545#section-3.3.5"))