Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,29 @@
|
||||
module time
|
||||
|
||||
// parse returns the time from a date string.
|
||||
//
|
||||
// TODO(playX): JS Date expects iso8061 format of strings and other formats
|
||||
// are implementation dependent, we probably want to implement parsing in JS.
|
||||
pub fn parse(s string) Time {
|
||||
mut res := Time{}
|
||||
#let date = new Date(s.str)
|
||||
#res.year.val = date.getFullYear()
|
||||
#res.month.val = date.getMonth()
|
||||
#res.day.val = date.getDay()
|
||||
#res.hour.val = date.getHours()
|
||||
#res.minute.val = date.getMinutes()
|
||||
#res.second.val = date.getSeconds()
|
||||
#res.microsecond.val = date.getMilliseconds() * 1000
|
||||
#res.unix.val = (date.getTime() / 1000).toFixed(0)
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
// parse_iso8601 parses the ISO 8601 time format yyyy-MM-ddTHH:mm:ss.dddddd+dd:dd as local time.
|
||||
// The fraction part is difference in milli seconds, and the last part is offset from UTC time.
|
||||
// Both can be +/- HH:mm .
|
||||
// See https://en.wikipedia.org/wiki/ISO_8601 .
|
||||
// Remarks: not all of ISO 8601 is supported; checks and support for leapseconds should be added.
|
||||
pub fn parse_iso8601(s string) !Time {
|
||||
return parse(s)
|
||||
}
|
||||
Reference in new issue
Block a user