From ce4bd45852b0d80da7d93b25bfa0d8a6d3abf072 Mon Sep 17 00:00:00 2001 From: Yogthos Date: Wed, 24 Jun 2026 16:13:22 -0400 Subject: [PATCH] java.sql.Date 1-arg ctor (epoch millis) --- host/chez/inst-time.ss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/host/chez/inst-time.ss b/host/chez/inst-time.ss index aece504..335e8c9 100644 --- a/host/chez/inst-time.ss +++ b/host/chez/inst-time.ss @@ -368,7 +368,9 @@ ;; date; valueOf parses "yyyy-MM-dd" to the same instant (so the two agree). (define (sql-date-midnight y mo d) (make-jinst (* 1000 (* (days-from-civil y mo d) 86400)))) (register-class-ctor! "java.sql.Date" - (lambda (y m d) (sql-date-midnight (+ 1900 (jnum->exact y)) (+ 1 (jnum->exact m)) (jnum->exact d)))) + (case-lambda + ((ms) (make-jinst (ms->exact (ms-of ms)))) ; (Date. epoch-ms) + ((y m d) (sql-date-midnight (+ 1900 (jnum->exact y)) (+ 1 (jnum->exact m)) (jnum->exact d))))) (register-class-statics! "java.sql.Date" (list (cons "valueOf" (lambda (s) (parse-ms "yyyy-MM-dd" (if (string? s) s (jolt-str-render-one s)))))))