Mercurial > urweb
annotate lib/ur/datetime.ur @ 1973:155bd0bc4d28
Day of week functions.
author | Patrick Hurst <phurst@mit.edu> |
---|---|
date | Thu, 05 Dec 2013 11:36:54 -0500 |
parents | 56c68443cb9d |
children | a10368c65e7f |
rev | line source |
---|---|
phurst@1972 | 1 type datetime = { |
phurst@1972 | 2 Year : int, |
phurst@1972 | 3 Month : int, |
phurst@1972 | 4 Day : int, |
phurst@1972 | 5 Hour : int, |
phurst@1972 | 6 Minute : int, |
phurst@1972 | 7 Second : int |
phurst@1972 | 8 } |
phurst@1972 | 9 |
phurst@1973 | 10 datatype day_of_week = Sunday | Monday | Tuesday | Wednesday | Thursday | |
phurst@1973 | 11 Friday | Saturday |
phurst@1973 | 12 |
phurst@1973 | 13 val show = mkShow (fn dow => case dow of |
phurst@1973 | 14 Sunday => "Sunday" |
phurst@1973 | 15 | Monday => "Monday" |
phurst@1973 | 16 | Tuesday => "Tuesday" |
phurst@1973 | 17 | Wednesday => "Wednesday" |
phurst@1973 | 18 | Thursday => "Thursday" |
phurst@1973 | 19 | Friday => "Friday" |
phurst@1973 | 20 | Saturday => "Saturday") |
phurst@1973 | 21 |
phurst@1972 | 22 fun toTime dt : time = fromDatetime dt.Year dt.Month dt.Day |
phurst@1972 | 23 dt.Hour dt.Minute dt.Second |
phurst@1972 | 24 |
phurst@1972 | 25 fun fromTime t : datetime = { |
phurst@1972 | 26 Year = datetimeYear t, |
phurst@1972 | 27 Month = datetimeMonth t, |
phurst@1972 | 28 Day = datetimeDay t, |
phurst@1972 | 29 Hour = datetimeHour t, |
phurst@1972 | 30 Minute = datetimeMinute t, |
phurst@1972 | 31 Second = datetimeSecond t |
phurst@1972 | 32 } |
phurst@1972 | 33 |
phurst@1972 | 34 fun datetimef fmt dt : string = timef fmt (toTime dt) |
phurst@1972 | 35 |
phurst@1972 | 36 val now : transaction datetime = |
phurst@1972 | 37 n <- now; |
phurst@1972 | 38 return (fromTime n) |