Go语言如何解析 Excel 文件中不同日期格式?
go 语言中的日期格式处理
在 go 语言中读取 excel 文件时,日期列可能包含各种不同的格式,如 20230331、2023-03-31、2023/03/31 等。为了统一处理这些格式,你可以使用 time 包的 parse 函数,依次尝试多种格式,直到解析成功为止。
以下是一个代码示例,展示如何解析不同格式的日期:
package main import ( "fmt" "time" ) func main() { dates := []string{ "20230331", "2023-03-31", "2023/03/31", } for _, date := range dates { parsedDate, err := parseDate(date) if err != nil { fmt.Println("Error parsing date:", err) } else { fmt.Println("Parsed date:", parsedDate) } } } func parseDate(input string) (time.Time, error) { formats := []string{ "20060102", "2006-01-02", "2006/01/02", } var parsedDate time.Time var err error for _, format := range formats { parsedDate, err = time.Parse(format, input) if err == nil { return parsedDate, nil } } return time.Time{}, fmt.Errorf("could not parse date: %s", input) }
在这段代码中,parsedate 函数定义了可能的日期格式并尝试按顺序解析。如果某一格式解析成功,就会返回解析后的日期;否则,返回一个错误。通过这种方式,你可以统一处理不同格式的日期,并始终以标准格式获取日期值。