diff options
Diffstat (limited to '')
-rw-r--r-- | module/datetime.scm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/module/datetime.scm b/module/datetime.scm index 30fb6025..0b3179ee 100644 --- a/module/datetime.scm +++ b/module/datetime.scm @@ -98,6 +98,7 @@ ;; NOTE there isn't any stable way to craft the tm objects. ;; I could call mktime on some date, and replace the fields ;; with the set-tm:*, but that is worse that breaking the API. +;; TODO TZ! (define (datetime->tm datetime) (let ((t (get-time% datetime)) (d (get-date datetime))) @@ -113,6 +114,7 @@ #f ; TZ name ))) +;; TODO TZ (define (tm->datetime tm) (datetime year: (+ 1900 (tm:year tm)) month: (1+ (tm:mon tm)) @@ -121,6 +123,14 @@ minute: (tm:min tm) second: (tm:sec tm))) +(define-public (datetime->unix-time dt) + (car (mktime (datetime->tm dt)))) + +(define-public (unix-time->datetime n) + (tm->datetime (gmtime n))) + +;; TODO prodedure to change TZ for datetime object + ;; datetime → datetime ;; Takes a datetime in any timezone, and renormalize it to local time |