From 70ab4cfb12840262be4fa517a216aea265cef9be Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Sat, 22 Aug 2015 19:33:57 -0400 Subject: [PATCH] fix date*->seconds handling of nanoseconds field --- pkgs/racket-test-core/tests/racket/date.rktl | 6 +++++- racket/collects/racket/date.rkt | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/date.rktl b/pkgs/racket-test-core/tests/racket/date.rktl index 082a040f37..55b9d0f24e 100644 --- a/pkgs/racket-test-core/tests/racket/date.rktl +++ b/pkgs/racket-test-core/tests/racket/date.rktl @@ -43,7 +43,7 @@ (date-day d) (date-month d) (date-year d) (date-week-day d) (date-year-day d) (date-dst? d) (date-time-zone-offset d) - 62500 + 62500000 "MDT")]) (define (test-string fmt time? result) (test (parameterize ([date-display-format fmt]) @@ -113,4 +113,8 @@ (struct-copy date* (seconds->date (current-seconds)) [hour #:parent date 5])) +(let ([d ;; 2015-08-22T12:34:56.789000000Z + (date* 56 34 12 22 08 2015 6 233 #f 0 789000000 "UTC")]) + (test 789/1000 - (date*->seconds d) (date->seconds d))) + (report-errs) diff --git a/racket/collects/racket/date.rkt b/racket/collects/racket/date.rkt index f7dc2606ba..4aada9f0e9 100644 --- a/racket/collects/racket/date.rkt +++ b/racket/collects/racket/date.rkt @@ -242,7 +242,7 @@ (define (date*->seconds date [local-time? #t]) (define s (date->seconds date local-time?)) (if (date*? date) - (+ s (/ (date*-nanosecond date) 1000000)) + (+ s (/ (date*-nanosecond date) #e1e9)) s)) (define (find-seconds sec min hour day month year [local-time? #t])