Short-date support (#298)

This commit is contained in:
Thomas Pelletier
2019-10-25 13:21:44 -04:00
committed by GitHub
parent 5edf9acd3e
commit 8a362ad712
11 changed files with 977 additions and 21 deletions
+30
View File
@@ -318,6 +318,36 @@ func (p *tomlParser) parseRvalue() interface{} {
layout = strings.Replace(layout, "T", " ", 1)
}
val, err := time.ParseInLocation(layout, tok.val, time.UTC)
if err != nil {
p.raiseError(tok, "%s", err)
}
return val
case tokenLocalDate:
v := strings.Replace(tok.val, " ", "T", -1)
isDateTime := false
isTime := false
for _, c := range v {
if c == 'T' || c == 't' {
isDateTime = true
break
}
if c == ':' {
isTime = true
break
}
}
var val interface{}
var err error
if isDateTime {
val, err = ParseLocalDateTime(v)
} else if isTime {
val, err = ParseLocalTime(v)
} else {
val, err = ParseLocalDate(v)
}
if err != nil {
p.raiseError(tok, "%s", err)
}