在Go中格式化详细日期
我想产生一个人类可读的格式格式化日期。通常在英语地区,后缀用于一个月的第1天、第2天、第3天、第4天、第5天等 我尝试使用格式字符串在Go中格式化详细日期,go,Go,我想产生一个人类可读的格式格式化日期。通常在英语地区,后缀用于一个月的第1天、第2天、第3天、第4天、第5天等 我尝试使用格式字符串“1月2日星期一”来设置这些日期的格式,但似乎不起作用 例如,在: 这就产生了结果 Wednesday 4nd March Sunday 1nd March 但我希望 Wednesday 4th March Sunday 1st March 我做错了什么?它不支持这种格式,您必须自己实现它,像这样的(黑客的)东西: func formatDate(t time.
“1月2日星期一”
来设置这些日期的格式,但似乎不起作用
例如,在:
这就产生了结果
Wednesday 4nd March
Sunday 1nd March
但我希望
Wednesday 4th March
Sunday 1st March
我做错了什么?它不支持这种格式,您必须自己实现它,像这样的(黑客的)东西:
func formatDate(t time.Time) string {
suffix := "th"
switch t.Day() {
case 1, 21, 31:
suffix = "st"
case 2, 22:
suffix = "nd"
case 3, 23:
suffix = "rd"
}
return t.Format("Monday 2" + suffix + " January")
}
即使strftime也不支持后缀。悲哀。也许是错失了一次机会?几年后,我自己实施了一个解决方案
func formatDate(t time.Time) string {
suffix := "th"
switch t.Day() {
case 1, 21, 31:
suffix = "st"
case 2, 22:
suffix = "nd"
case 3, 23:
suffix = "rd"
}
return t.Format("Monday 2" + suffix + " January")
}