数据清洗: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
}
相关推荐
geovindu8 分钟前
rust: Read-Write Lock Pattern
开发语言·后端·设计模式·rust·读写锁模式·同步型模式
怪我冷i8 分钟前
Rust智能指针Rc<T> 使用总结
开发语言·后端·rust
全栈陈序员14 分钟前
【Python】基础语法入门(三十三)—— 日志系统详解:用 logging 记录程序运行
java·开发语言·python
ESDWAN16 分钟前
SD-WAN 是什么?工作原理、适用场景与选型要点
开发语言·网络·数据库·架构·php
万少17 分钟前
Harmony 7.0 这个skill帮你自动化操作AGC
前端·javascript·后端
huaweichenai26 分钟前
spring boot对接kafka实现消息队列处理
spring boot·后端·kafka
treasure14034 分钟前
Django复习笔记(2026年10月)
后端·python·django·api·web·drf
iCxhust37 分钟前
C#双时区时钟设计
开发语言·c#
sbjdhjd1 小时前
从污点追踪断点到 PHP-FPM 请求队列:HIDS PHP WebShell 样本复盘
开发语言·网络安全·数据挖掘·渗透测试·开源·php·shell