diff --git a/pkgs/racket-doc/scribblings/reference/time.scrbl b/pkgs/racket-doc/scribblings/reference/time.scrbl index 5ab0ffa051..0c10bc559b 100644 --- a/pkgs/racket-doc/scribblings/reference/time.scrbl +++ b/pkgs/racket-doc/scribblings/reference/time.scrbl @@ -226,16 +226,26 @@ local time by default or UTC if @racket[local-time?] is error is signaled, otherwise an integer is returned.} -@defproc[(date->julian/scalinger [date date?]) exact-integer?]{ +@defproc[(date->julian/scaliger [date date?]) exact-integer?]{ Converts a date structure (up to 2099 BCE Gregorian) into a Julian date number. The returned value is not a strict Julian number, but -rather Scalinger's version, which is off by one for easier +rather Scaliger's version, which is off by one for easier calculations.} -@defproc[(julian/scalinger->string [date-number exact-integer?]) +@defproc[(julian/scaliger->string [date-number exact-integer?]) string?]{ -Converts a Julian number (Scalinger's off-by-one version) into a +Converts a Julian number (Scaliger's off-by-one version) into a string.} + + +@deftogether[( +@defproc[(date->julian/scalinger [date date?]) exact-integer?] +@defproc[(julian/scalinger->string [date-number exact-integer?]) + string?] +)]{ + +The same as @racket[date->julian/scaliger] and +@racket[julian/scaliger->string], but misspelled.} diff --git a/pkgs/racket-test-core/tests/racket/date.rktl b/pkgs/racket-test-core/tests/racket/date.rktl index 5acc49889f..486338b869 100644 --- a/pkgs/racket-test-core/tests/racket/date.rktl +++ b/pkgs/racket-test-core/tests/racket/date.rktl @@ -73,7 +73,9 @@ (test-string 'julian #f "JD 2 453 860") (test-string 'julian #t "JD 2 453 860, 03:02:01") + (test 2453860 date->julian/scaliger d) (test 2453860 date->julian/scalinger d) + (test "JD 2 453 860" julian/scaliger->string 2453860) (test "JD 2 453 860" julian/scalinger->string 2453860)) ;; Bad dates diff --git a/racket/collects/racket/date.rkt b/racket/collects/racket/date.rkt index b78cff4514..e6eb73324d 100644 --- a/racket/collects/racket/date.rkt +++ b/racket/collects/racket/date.rkt @@ -17,6 +17,8 @@ (any/c) . ->* . exact-integer?)] + [date->julian/scaliger (date? . -> . exact-integer?)] + [julian/scaliger->string (exact-integer? . -> . string?)] [date->julian/scalinger (date? . -> . exact-integer?)] [julian/scalinger->string (exact-integer? . -> . string?)]) @@ -123,8 +125,8 @@ (values (list week-day ", " day day-th " " month " " year) (list ", " hour12 ":" minute am-pm))] [(julian) - (values (list (julian/scalinger->string - (date->julian/scalinger date))) + (values (list (julian/scaliger->string + (date->julian/scaliger date))) (list ", " hour24 ":" minute ":" second))] [(iso-8601) (values @@ -308,12 +310,12 @@ (date-minute d) (date-second d))) -;; date->julian/scalinger : +;; date->julian/scaliger : ;; date -> number [julian-day] ;; Note: This code is correct until 2099 CE Gregorian -(define (date->julian/scalinger date) +(define (date->julian/scaliger date) (define day (date-day date)) (define month (date-month date)) (define d-year (date-year date)) @@ -348,10 +350,10 @@ gregorian-adjustment)) final-date) -;; julian/scalinger->string : +;; julian/scaliger->string : ;; number [julian-day] -> string [julian-day-format] -(define (julian/scalinger->string julian-day) +(define (julian/scaliger->string julian-day) (apply string-append (cons "JD " (reverse @@ -372,3 +374,7 @@ (cadr reversed-digits) (car reversed-digits))) (loop (cdr (cdr (cdr reversed-digits)))))))))))) + +;; Misspelled names for backward compatibility: +(define (date->julian/scalinger d) (date->julian/scaliger d)) +(define (julian/scalinger->string i) (julian/scaliger->string i))