1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

add time.parse_iso

This commit is contained in:
yatsen1
2019-12-23 18:36:51 +08:00
committed by Alexander Medvednikov
parent d03f0ec294
commit 137a473bb7
2 changed files with 32 additions and 0 deletions

View File

@@ -320,6 +320,22 @@ pub fn parse(s string) Time {
})
}
// `parse_iso` parses time in the following format: "Thu, 12 Dec 2019 06:07:45 GMT"
pub fn parse_iso(s string) Time {
fields := s.split(' ')
if fields.len < 5 {
return Time{}
}
pos := months_string.index(fields[2]) or { return Time{} }
mm := pos/3 + 1
tmstr := malloc(s.len*2)
count := int(C.sprintf(charptr(tmstr), '%s-%02d-%s %s'.str,
fields[3].str, mm, fields[1].str, fields[4].str))
return parse(tos(tmstr, count))
}
pub fn new_time(t Time) Time {
return {
t |