2 回答

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
import "time"
const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
)
這些是用于 Time.Format 和 Time.Parse 的預(yù)定義布局。布局中使用的參考時(shí)間是具體時(shí)間:
Mon Jan 2 15:04:05 MST 2006
即 Unix 時(shí)間 1136239445。由于 MST 是 GMT-0700,因此參考時(shí)間可以認(rèn)為是
01/02 03:04:05PM '06 -0700
要定義您自己的格式,請(qǐng)寫(xiě)下按照您的方式格式化的參考時(shí)間;有關(guān)示例,請(qǐng)參閱 ANSIC、StampMicro 或 Kitchen 等常量的值。該模型是為了演示參考時(shí)間的樣子,以便 Format 和 Parse 方法可以將相同的轉(zhuǎn)換應(yīng)用于一般時(shí)間值。
將time格式字符串"20060102"用于YYYYMMDD. 將time格式字符串"2006-01-02"用于YYYY-MM-DD.
例如,
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now)
date := now.Format("20060102")
fmt.Println(date)
date = now.Format("2006-01-02")
fmt.Println(date)
date2, err := time.Parse("20060102", "20101011")
if err == nil {
fmt.Println(date2)
}
}
輸出:
2009-11-10 23:00:00 +0000 UTC
20091110
2009-11-10
2010-10-11 00:00:00 +0000 UTC

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以執(zhí)行以下操作:
dateStr := "20210131" // date in 'String' data type
dateValue, _ := time.Parse("20060102", dateStr) // convert 'String' to 'Time' data type
fmt.Println(dateValue) // output: 2021-01-31 00:00:00 +0000 UTC
dateStr = dateValue.Format("2006-01-02") // Format return a 'string' in your specified layout (YYYY-MM-DD)
fmt.Println(dateStr) // Output: 2021-01-31
- 2 回答
- 0 關(guān)注
- 217 瀏覽
添加回答
舉報(bào)