diff options
Diffstat (limited to 'emacsconf.el')
-rw-r--r-- | emacsconf.el | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/emacsconf.el b/emacsconf.el index 9746308..d5e6c3d 100644 --- a/emacsconf.el +++ b/emacsconf.el @@ -1098,9 +1098,31 @@ The subheading should match `emacsconf-abstract-heading-regexp'." (format-time-string "%-l:%M %p %Z" end tz) tz)))) + (defun emacsconf-timezone-strings (o &optional timezones) (mapcar (lambda (tz) (emacsconf-timezone-string o tz)) (or timezones emacsconf-timezones))) +(defun emacsconf-timezone-strings-combined (time timezones &optional format) + "Show TIME in TIMEZONES. +If TIMEZONES is a string, split it by commas." + (let* ((format (or format "%b %-d %-l:%M %p")) + (base-time (format-time-string format time emacsconf-timezone)) + (timezones (if (stringp timezones) (split-string timezones " *, *" t)))) + (concat base-time " in " (emacsconf-schedule-rename-etc-timezone emacsconf-timezone) + (if timezones + (concat + " (which is " + (mapconcat + (lambda (tz) + (let ((translated-time (format-time-string format time tz))) + (if (string= translated-time base-time) + (concat "the same in " (emacsconf-schedule-rename-etc-timezone tz)) + (concat translated-time " in " (emacsconf-schedule-rename-etc-timezone tz))))) + timezones + "; ") + ")") + "")))) + ;;;###autoload (defun emacsconf-convert-from-timezone (timezone time) (interactive (list (progn |