在GoLang,我该如何将日期从DD-MON-YY转换为YYYYMMDD格式?
My input is: 9-Nov-17
Expected output is: 20171109
但是当我在下面做的时候:
t, err := time.Parse("20060102", "9-Nov-17")
Golang返回错误:
Error: parsing time "9-Nov-17" as "20060102": cannot parse "v-17" as "2006"
请帮忙。
答案 0 :(得分:5)
您必须使用当前格式解析时间,然后使用Format
函数将其格式化为预期格式
检查下面的答案
package main
import (
"fmt"
"time"
)
func main() {
// Parse a time value from a string in dd-Mon-yy format.
t, _ := time.Parse("2-Jan-06", "9-Nov-17")
//Format and print time in yyyymmdd format
fmt.Println(t.Format("20060102"))
}
在这里播放链接:goplayground
答案 1 :(得分:2)
在layout
中解析和格式化time
时会出现名为go
的内容。此布局将始终基于Mon Jan 2 15:04:05 -0700 MST 2006
时间值进行格式化。例如,如果您输入2017 November 22
,则布局应为2006 January 02
:
// example 1 -- layout --- --- input -----
t, err := time.Parse("2006 January 02", "2017 November 22")
// example 2
t, err := time.Parse("02-01-2006", "22-11-2017")