我有以下代码。将日期值作为请求中的字符串类型并尝试转换为时间类型。但是,我对格式有一些问题。
type LeanData struct {
Start_Date time.Time
}
const dateLayout = "01-02-2006"
startdate := request.FormValue("startdate")
if len(strings.TrimSpace(startdate)) > 0 {
sdate, err := time.Parse(dateLayout, startdate)
}
fmt.Println("startdate", startdate)
fmt.Println("sdate", sdate)
我的输出低于输出。
startdate 02-03-2016
sdate 2016-02-03 00:00:00 +0000 UTC
在这里,我正在进行转换,因为开始日期是time.Time类型。 我想把它转换为2016-02-03而不是2016-02-03 00:00:00 +0000 UTC。 另外,如果请求中的值为nil / empty,如何将空值分配给开始日期。
有人能让我知道如何实现这个目标吗?
答案 0 :(得分:3)
time.Parse
返回类型为time.Time
的对象,其中包含日期和时间信息。 Go中没有类型只包含日期信息。但是,您可以在格式化时忽略日期的时间部分,例如:
fmt.Println("sdate", sdate.Format("2006-01-02"))
将打印:
sdate 2016-02-03
要初始化空白时间,只需将其声明为:
var sdate time.Time