diff options
author | coffeepots <coffeepots@users.noreply.github.com> | 2015-07-16 10:20:34 +0100 |
---|---|---|
committer | coffeepots <coffeepots@users.noreply.github.com> | 2015-07-16 10:20:34 +0100 |
commit | a2f0fe03b634753fb26c6da899fcdefbb8e46035 (patch) | |
tree | d80a9f3462a4ef5c158c720e63e4beab6c4636fc | |
parent | f09916d72034242a9bc4966ecf6f5590ed40d2cc (diff) | |
download | Nim-a2f0fe03b634753fb26c6da899fcdefbb8e46035.tar.gz |
Fixed dayOfWeekJulian, exported SecondScale
-rw-r--r-- | lib/pure/times.nim | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/pure/times.nim b/lib/pure/times.nim index efed1bbc0..a85998cb5 100644 --- a/lib/pure/times.nim +++ b/lib/pure/times.nim @@ -1064,7 +1064,7 @@ proc countYearsAndDays(daySpan: int): tuple[years: int, days: int] = result.days = days mod 365 type - SecondScale = enum ssMinute, ssHour, ssDay, ssMonth, ssYear + SecondScale* = enum ssMinute, ssHour, ssDay, ssMonth, ssYear # these are very approximate beyond day const secondsIn*: array[SecondScale.low..SecondScale.high, int] =[ @@ -1099,10 +1099,7 @@ proc dayOfWeekJulian*(day, month, year: int): WeekDay = y = year - a m = month + (12*a) - 2 d = (5 + day + y + (y div 4) + (31*m) div 12) mod 7 - # The value of d is 0 for a Sunday, 1 for a Monday, 2 for a Tuesday, etc. so we must correct - # for the WeekDay type. - if d == 0: return dSun - result = (d-1).WeekDay + result = d.WeekDay proc decodeTime*(t: Time): TimeInfo = let @@ -1252,3 +1249,8 @@ when isMainModule: assert dayOfWeek(21, 9, 1970) == dMon assert dayOfWeek(1, 1, 2000) == dSat assert dayOfWeek(1, 1, 2021) == dFri + # Julian tests + assert dayOfWeekJulian(21, 9, 1900) == dFri + assert dayOfWeekJulian(21, 9, 1970) == dMon + assert dayOfWeekJulian(1, 1, 2000) == dSat + assert dayOfWeekJulian(1, 1, 2021) == dFri |