This commit is contained in:
Oleh Ozimok 2018-09-26 12:02:16 +00:00 committed by GitHub
commit 96bb840a67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -1131,6 +1131,7 @@ func TestToTimeEE(t *testing.T) {
{uint(1482597504), time.Date(2016, 12, 24, 16, 38, 24, 0, time.UTC), false},
{uint64(1234567890), time.Date(2009, 2, 13, 23, 31, 30, 0, time.UTC), false},
{uint32(1234567890), time.Date(2009, 2, 13, 23, 31, 30, 0, time.UTC), false},
{float64(1234567890), time.Date(2009, 2, 13, 23, 31, 30, 0, time.UTC), false},
{time.Date(2009, 2, 13, 23, 31, 30, 0, time.UTC), time.Date(2009, 2, 13, 23, 31, 30, 0, time.UTC), false},
// errors
{"2006", time.Time{}, true},

View File

@ -16,6 +16,8 @@ import (
"time"
)
var TimeLocation = time.UTC
var errNegativeNotAllowed = errors.New("unable to cast negative value")
// ToTimeE casts an interface to a time.Time type.
@ -39,6 +41,8 @@ func ToTimeE(i interface{}) (tim time.Time, err error) {
return time.Unix(int64(v), 0), nil
case uint32:
return time.Unix(int64(v), 0), nil
case float64:
return time.Unix(int64(v), 0), nil
default:
return time.Time{}, fmt.Errorf("unable to cast %#v of type %T to Time", i, i)
}
@ -1151,7 +1155,7 @@ func StringToDate(s string) (time.Time, error) {
func parseDateWith(s string, dates []string) (d time.Time, e error) {
for _, dateType := range dates {
if d, e = time.Parse(dateType, s); e == nil {
if d, e = time.ParseInLocation(dateType, s, TimeLocation); e == nil {
return
}
}