diff --git a/vlib/time/parse.js.v b/vlib/time/parse.js.v index d53d232912..1e310d240d 100644 --- a/vlib/time/parse.js.v +++ b/vlib/time/parse.js.v @@ -19,6 +19,11 @@ pub fn parse(s string) Time { 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) } diff --git a/vlib/time/time.js.v b/vlib/time/time.js.v index dcd1c547d5..c9109c4b41 100644 --- a/vlib/time/time.js.v +++ b/vlib/time/time.js.v @@ -1,5 +1,6 @@ module time +// now returns the current local time. pub fn now() Time { mut res := Time{} #let date = new Date() @@ -15,6 +16,7 @@ pub fn now() Time { return res } +// utc returns the current UTC time. pub fn utc() Time { mut res := Time{} #let date = new Date() @@ -61,6 +63,8 @@ fn time_with_unix(t Time) Time { return res } +// ticks returns the number of milliseconds since the UNIX epoch. +// // On Windows ticks returns the number of milliseconds elapsed since system start. pub fn ticks() i64 { t := i64(0) #t.val = BigInt(new Date().getTime()) diff --git a/vlib/time/time.v b/vlib/time/time.v index dbbd4ddba3..4b522e83b2 100644 --- a/vlib/time/time.v +++ b/vlib/time/time.v @@ -84,6 +84,7 @@ pub enum FormatDelimiter { no_delimiter } +// Time.new static method returns a time struct with the calculated Unix time. pub fn Time.new(t Time) Time { return time_with_unix(t) }