twtxtlist/src/time/time.go

42 lines
591 B
Go

package main
import "time"
import "C"
var times []string = []string{
"2006-01-02T15:04:05.000000-07:00",
"2006-01-02T15:04:05-07:00",
time.RFC3339,
"2006-01-02T15:04-7000",
"2006-01-02T15:04:05-0700",
"2006-01-02T15:04:05.000000",
}
func tryTimes(inp string) *time.Time {
var t time.Time
var err error
for _, fmtString := range times {
t, err = time.Parse(fmtString, inp)
if err == nil {
break
}
}
return &t
}
//export fixTime
func fixTime(inp *C.char) *int64 {
gostr := C.GoString(inp)
t := tryTimes(gostr)
res := (*t).Unix()
return &res
}
func main() {}