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)