
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 函数定义了可能的日期格式并尝试按顺序解析。如果某一格式解析成功,就会返回解析后的日期;否则,返回一个错误。通过这种方式,你可以统一处理不同格式的日期,并始终以标准格式获取日期值。
立即学习“go语言免费学习笔记(深入)”;










