From 444c0baa87b6edfb21c002bf9e079e10509ee0e9 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Sun, 1 Jan 2017 15:49:42 +0100 Subject: Switched dates 0 to 1899/12/30 --- tools.ml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tools.ml') diff --git a/tools.ml b/tools.ml index 0cf8fe6..f4befa5 100755 --- a/tools.ml +++ b/tools.ml @@ -268,19 +268,21 @@ module Date = struct + day + b + 1720995 -(* + 2415019 (* Shift to 30/12/1899 *) *) + - 2415019 (* Shift to 30/12/1899 *) |> Num.num_of_int end let date_from_julian_day day = begin + let shift_day = Num.floor_num day + |> Num.add_num (Num.num_of_int 2415019) in - let z = Num.int_of_num (Num.floor_num day) in + let z = Num.int_of_num shift_day in let f = if z >= 2299161 then (* We use the Num module here to prevent overflow *) - let day' = Num.(((num_of_int 4) */ day +/ (num_of_int 274277)) // (num_of_int 146097)) + let day' = Num.(((num_of_int 4) */ shift_day +/ (num_of_int 274277)) // (num_of_int 146097)) |> Num.floor_num |> Num.int_of_num in z + 1401 + ((day' * 3) / 4) - 38 -- cgit v1.2.3