mirror of
https://github.com/araddon/dateparse.git
synced 2024-11-10 11:51:54 +08:00
new date format for comma microseconds
This commit is contained in:
parent
6e81432574
commit
f85104b4d6
@ -78,8 +78,13 @@ iterRunes:
|
|||||||
}
|
}
|
||||||
case ',':
|
case ',':
|
||||||
if len(datestr) == len("2014-05-11 08:20:13,787") {
|
if len(datestr) == len("2014-05-11 08:20:13,787") {
|
||||||
if t, err := time.Parse("2006-01-02 03:04:05,999", datestr); err == nil {
|
// go doesn't seem to parse this one natively? or did i miss it?
|
||||||
return t, nil
|
if t, err := time.Parse("2006-01-02 03:04:05", datestr[:i]); err == nil {
|
||||||
|
ms, err := strconv.Atoi(datestr[i+1:])
|
||||||
|
if err == nil {
|
||||||
|
return time.Unix(0, t.UnixNano()+int64(ms)*1e6), nil
|
||||||
|
}
|
||||||
|
u.Error(err)
|
||||||
} else {
|
} else {
|
||||||
u.Error(err)
|
u.Error(err)
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ var _ = time.April
|
|||||||
|
|
||||||
2016-03-14 00:00:00.000
|
2016-03-14 00:00:00.000
|
||||||
2006-01-02
|
2006-01-02
|
||||||
2014-05-11 08:20:13,787
|
2014-05-11 08:20:13,787 // i couldn't find parser for this in go?
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -97,42 +97,34 @@ func TestParse(t *testing.T) {
|
|||||||
//2014-04-26 05:24:37.3186369
|
//2014-04-26 05:24:37.3186369
|
||||||
ts, err = ParseAny("2014-04-26 17:24:37.3186369")
|
ts, err = ParseAny("2014-04-26 17:24:37.3186369")
|
||||||
assert.T(t, err == nil)
|
assert.T(t, err == nil)
|
||||||
//u.Debug(ts.Unix(), ts)
|
//u.Debug(ts.In(time.UTC).Unix(), ts.In(time.UTC))
|
||||||
assert.T(t, "2014-04-26 17:24:37.3186369 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
assert.T(t, "2014-04-26 17:24:37.3186369 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
||||||
|
|
||||||
//2014-04-26 17:24:37.123
|
//2014-04-26 17:24:37.123
|
||||||
ts, err = ParseAny("2014-04-26 17:24:37.123")
|
ts, err = ParseAny("2014-04-26 17:24:37.123")
|
||||||
assert.T(t, err == nil)
|
assert.T(t, err == nil)
|
||||||
//u.Debugf("unix=%v ts='%v'", ts.Unix(), ts)
|
//u.Debugf("unix=%v ts='%v'", ts.In(time.UTC).Unix(), ts.In(time.UTC))
|
||||||
assert.T(t, "2014-04-26 17:24:37.123 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
assert.T(t, "2014-04-26 17:24:37.123 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
||||||
|
|
||||||
ts, err = ParseAny("2014-04-26 05:24:37 PM")
|
ts, err = ParseAny("2014-04-26 05:24:37 PM")
|
||||||
assert.T(t, err == nil)
|
assert.T(t, err == nil)
|
||||||
//u.Debug(ts.Unix(), ts)
|
//u.Debug(ts.In(time.UTC).Unix(), ts.In(time.UTC))
|
||||||
assert.T(t, "2014-04-26 17:24:37 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
assert.T(t, "2014-04-26 17:24:37 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
||||||
|
|
||||||
ts, err = ParseAny("2014-04-26")
|
ts, err = ParseAny("2014-04-26")
|
||||||
assert.T(t, err == nil)
|
assert.T(t, err == nil)
|
||||||
//u.Debug(ts.Unix(), ts)
|
//u.Debug(ts.In(time.UTC).Unix(), ts.In(time.UTC))
|
||||||
assert.T(t, "2014-04-26 00:00:00 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
assert.T(t, "2014-04-26 00:00:00 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
||||||
|
|
||||||
ts, err = ParseAny("2014-05-11 08:20:13,787")
|
ts, err = ParseAny("2014-05-11 08:20:13,787")
|
||||||
assert.T(t, err == nil)
|
assert.T(t, err == nil)
|
||||||
//u.Debug(ts.Unix(), ts)
|
u.Debug(ts.In(time.UTC).Unix(), ts.In(time.UTC))
|
||||||
assert.T(t, "2014-04-26 00:00:00 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
assert.T(t, "2014-05-11 08:20:13.787 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestME(t *testing.T) {
|
func TestWIP(t *testing.T) {
|
||||||
ts, err := ParseAny("2014-05-11 08:20:13,787")
|
// ts, err := ParseAny("2014-05-11 08:20:13,787")
|
||||||
assert.T(t, err == nil)
|
|
||||||
u.Debug(ts.Unix(), ts)
|
|
||||||
assert.T(t, "2014-04-26 17:24:37 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
|
||||||
}
|
|
||||||
|
|
||||||
// func TestParseAMPM(t *testing.T) {
|
|
||||||
// //2014-04-26 05:24:37 PM
|
|
||||||
// ts, err := ParseAny("2014-04-26 05:24:37 PM")
|
|
||||||
// assert.T(t, err == nil)
|
// assert.T(t, err == nil)
|
||||||
// u.Debug(ts.Unix(), ts)
|
// u.Debug(ts.Unix(), ts)
|
||||||
// assert.T(t, "2014-04-26 17:24:37 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
// assert.T(t, "2014-04-26 17:24:37 +0000 UTC" == fmt.Sprintf("%v", ts.In(time.UTC)))
|
||||||
// }
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user