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() {}