From 1ed2318b29b6dde8a5acbc655b9c49e420193856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Vouillon?= Date: Tue, 3 Oct 2023 14:33:59 +0200 Subject: [PATCH] Explicit float conversions --- src/os_date.eliom | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/os_date.eliom b/src/os_date.eliom index dd50a52d..647ad05a 100644 --- a/src/os_date.eliom +++ b/src/os_date.eliom @@ -142,14 +142,20 @@ let to_utc ?(timezone = user_tz ()) d = let%client to_local d = let d = CalendarLib.Calendar.to_unixfloat d in - let o = (new%js Js.date_fromTimeValue (d *. 1000.))##getTimezoneOffset in + let o = + (new%js Js.date_fromTimeValue (Js.float (d *. 1000.)))##getTimezoneOffset + in CalendarLib.Calendar.from_unixfloat (d -. (float o *. 60.)) let%client to_utc d = let d = CalendarLib.Calendar.to_unixfloat d in - let o = (new%js Js.date_fromTimeValue (d *. 1000.))##getTimezoneOffset in + let o = + (new%js Js.date_fromTimeValue (Js.float (d *. 1000.)))##getTimezoneOffset + in let d' = d +. (float o *. 60.) in - let o' = (new%js Js.date_fromTimeValue (d' *. 1000.))##getTimezoneOffset in + let o' = + (new%js Js.date_fromTimeValue (Js.float (d' *. 1000.)))##getTimezoneOffset + in CalendarLib.Calendar.from_unixfloat (if o = o' then d' (* We guessed the DST status right *)