25 lines
677 B
V
25 lines
677 B
V
module time
|
|
|
|
// parse returns time from a date string.
|
|
//
|
|
// TODO(playX): JS Date expects iso8061 format of strings and other formats
|
|
// are implementation dependant, 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
|
|
}
|
|
|
|
pub fn parse_iso8601(s string) ?Time {
|
|
return parse(s)
|
|
}
|