You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Golang将dd/mm/yyyy格式日期字符串转为time类型报错怎么修复

错误原因

报错信息:2009/11/10 23:00:00 parsing time "29/12/2020": month out of range

该报错由time.Parse函数的布局参数填写错误导致。Go语言的时间解析逻辑不使用通用的yyyy、mm这类占位符,要求布局参数必须基于固定参考时间2006年1月2日 15:04:05编写,你当前用了月/日/年顺序的布局去解析日/月/年格式的字符串,会把29识别为月份值,自然超出月份的合法范围。

修复方法
  • 要解析dd/mm/yyyy格式的日期,需要把布局参数调整为日/月/年顺序的参考时间写法02/01/2006,参考代码如下:
package main

import (
	"fmt"
	"time"
)

func main() {
	dateStr := "29/12/2020"
	// 02对应日期、01对应月份、2006对应年份,和dd/mm/yyyy顺序完全匹配
	layout := "02/01/2006"
	parseRes, err := time.Parse(layout, dateStr)
	if err != nil {
		fmt.Println("解析错误:", err)
		return
	}
	fmt.Println("解析得到的时间:", parseRes)
}

内容的提问来源于stack exchange,提问作者shekwo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:24:03