题目描述
给你一个字符串
date,它的格式为DayMonthYear,其中:
Day是集合{"1st", "2nd", "3rd", "4th", ..., "30th", "31st"}中的一个元素。
Month是集合{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}中的一个元素。
Year的范围在 [1900, 2100]之间。
请你将字符串转变为YYYY-MM-DD的格式,其中:
YYYY表示 4 位的年份。
MM表示 2 位的月份。
DD表示 2 位的天数。
解题思路
首先由字符串切割成年月日
DD切割10-31的切割出来,1-9前面补0MM直接转换成对应的数字YYYY直接用
代码实现
func reformatDate(date string) string {
words := strings.Fields(date) // 转换为数组
var day string
if len(words[0]) == 3 { // 获取天
day = "0" + words[0][0:1]
} else {
day = words[0][0:2]
}
monthmap := map[string] string { // 获取月
"Jan" : "01",
"Feb" : "02",
"Mar" : "03",
"Apr" : "04",
"May" : "05",
"Jun" : "06",
"Jul" : "07",
"Aug" : "08",
"Sep" : "09",
"Oct" : "10",
"Nov" : "11",
"Dec" : "12",
}
sdate := words[2] + "-" + monthmap[words[1]] + "-" + day // 字符拼接
return sdate
}
提交结果
执行用时: 0 ms
内存消耗: 2 MB

本文介绍了一种将特定格式的日期字符串(DayMonthYear)转换为YYYY-MM-DD格式的方法。通过使用Go语言实现,文章详细展示了如何从原始字符串中提取天、月、年,并按新的格式进行重新组合。
941

被折叠的 条评论
为什么被折叠?



