summaryrefslogtreecommitdiffstats
path: root/emacsconf.el
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2023-11-19 16:04:30 -0500
committerSacha Chua <sacha@sachachua.com>2023-11-19 16:04:30 -0500
commitb84acc8c76128f7827ac7f5877bb992994770f9f (patch)
treede589e8059b7e18c17ac1aa97f6b8251b02edb41 /emacsconf.el
parent1fc1c7e45b32421e17fcec1b23327bfb264a3fab (diff)
downloademacsconf-el-b84acc8c76128f7827ac7f5877bb992994770f9f.tar.xz
emacsconf-el-b84acc8c76128f7827ac7f5877bb992994770f9f.zip
New function emacsconf-timezone-strings-combined
That should make it easier to specify multiple timezones (comma-separated) and use those in e-mails
Diffstat (limited to 'emacsconf.el')
-rw-r--r--emacsconf.el22
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