Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
856 B
43 lines
856 B
package testfixtures |
|
|
|
import ( |
|
"fmt" |
|
"time" |
|
) |
|
|
|
var timeFormats = [...]string{ |
|
"2006-01-02", |
|
"2006-01-02 15:04", |
|
"2006-01-02 15:04:05", |
|
"20060102", |
|
"20060102 15:04", |
|
"20060102 15:04:05", |
|
"02/01/2006", |
|
"02/01/2006 15:04", |
|
"02/01/2006 15:04:05", |
|
"2006-01-02T15:04-07:00", |
|
"2006-01-02T15:04:05-07:00", |
|
"2006-01-02T15:04:05Z07:00", |
|
"2006-01-02 15:04:05Z07:00", |
|
"2006-01-02T15:04:05Z0700", |
|
"2006-01-02 15:04:05Z0700", |
|
"2006-01-02T15:04:05Z07", |
|
"2006-01-02 15:04:05Z07", |
|
"2006-01-02 15:04:05 MST", |
|
} |
|
|
|
func (l *Loader) tryStrToDate(s string) (time.Time, error) { |
|
loc := l.location |
|
if loc == nil { |
|
loc = time.Local |
|
} |
|
|
|
for _, f := range timeFormats { |
|
t, err := time.ParseInLocation(f, s, loc) |
|
if err != nil { |
|
continue |
|
} |
|
return t, nil |
|
} |
|
return time.Time{}, fmt.Errorf(`testfixtures: could not convert string "%s" to time`, s) |
|
}
|
|
|