数据清洗:Golang规范日期格式

在做数据导入的时候,由于输入人员多和随意(大多数是审美不同),导致数据格式五花八门,就一个日期列,就会出现下面这些样式的:

  • 2023.02.03
  • 2023/02/03
  • 2023.2.3
  • 2023/2/3
  • 2023年2月3日
  • 2023年2月3日上午
  • 2023-02-03

大体就这么多样式,跟多的,就是中间有些空格。

为了达到统一的数据美,需要一个函数,把所有样式的,都统一成 2023-02-03 这样的。

Go 复制代码
func HandleData(date string) string {
	date = strings.TrimSpace(date)
	date = strings.ReplaceAll(date, ".", "-")
	date = strings.ReplaceAll(date, "/", "-")
	date = strings.ReplaceAll(date, "年", "-")
	date = strings.ReplaceAll(date, "月", "-")
	date = strings.ReplaceAll(date, "日", "")
	date = strings.ReplaceAll(date, "上午", "")
	date = strings.ReplaceAll(date, "下午", "")

	year := date[0:4]
	tmp := date[5:]
	m := tmp[:strings.Index(tmp, "-")]
	d := tmp[strings.Index(tmp, "-")+1:]
	// fmt.Println(year, m, d)

	m = strings.ReplaceAll(m, " ", "")
	d = strings.ReplaceAll(d, " ", "")
	if len(m) == 1 {
		m = "0" + m
	}
	if len(d) == 1 {
		d = "0" + d
	}
	return year + "-" + m + "-" + d
}
相关推荐
用户73440281934210 分钟前
Java 8 Stream 的终极技巧——Collectors 操作
后端
树獭叔叔20 分钟前
深度拆解 VAE:生成式 AI 的潜空间大门
后端·aigc·openai
任沫22 分钟前
字符串
数据结构·后端
Java编程爱好者2 小时前
2026 大厂 Java 八股文面试题库|附答案(完整版)
后端
Moment3 小时前
腾讯终于对个人开放了,5 分钟在 QQ 里养一只「真能干活」的 AI 😍😍😍
前端·后端·github
用户60572374873083 小时前
OpenSpec 实战:从需求到代码的完整工作流
前端·后端·程序员
Java编程爱好者3 小时前
MySQL单表真能存21亿条数据吗?会有严重的性能问题吗?
后端
程序员爱钓鱼3 小时前
Go操作Word文档实战:github.com/nguyenthenguyen/docx
后端·google·go
缓解AI焦虑4 小时前
大模型量化部署进阶:从 INT8/INT4 原理到高性能推理实战
后端