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.
|
|
|
package testfixtures
|
|
|
|
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
"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",
|
|
|
|
}
|
|
|
|
|
|
|
|
// ErrCouldNotConvertToTime is returns when a string is not a reconizable time format
|
|
|
|
var ErrCouldNotConvertToTime = errors.New("Could not convert string to time")
|
|
|
|
|
|
|
|
func tryStrToDate(s string) (time.Time, error) {
|
|
|
|
for _, f := range timeFormats {
|
|
|
|
t, err := time.ParseInLocation(f, s, time.Local)
|
|
|
|
if err != nil {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
return t, nil
|
|
|
|
}
|
|
|
|
return time.Time{}, ErrCouldNotConvertToTime
|
|
|
|
}
|