yyyy-MM-dd HH:mm:ss
2006-01-02 15:04:05 -0700 MST
注意这在golang的日期格式化里不是一个具体日期,而是格式,这样如果我们需要格式化日期,可以如下操作
timeNow := time.Now() fmt.Println("yyyy-MM-dd HH:mm:ss" ,timeNow.Format("2006-01-02 15:04:05")) // 打印: yyyy-MM-dd HH:mm:ss: 2022-05-11 14:24:19
Time
Time.Unix() 获取时间秒数,返回的是unix时间秒
fmt.Println("from 1970-01-01 to now seconds: ",int32(time.Now().Unix()))
Time.Date() 返回年月日:
year,month,day := timeNow.Date() fmt.Println(year,month,day) // 注意打印的是: 2022 May 11
Time.AddDate 时间增减:
timeLast := timeNow.AddDate(0,0,-1) fmt.Println(timeLast.Format("2006-01-02 15:04:05"))
Time.Add 增加指定的时间,可以精确到纳秒
time2 := timeNow.Add(time.Duration(2000*time.Millisecond)) fmt.Println(time2.Format("2006-01-02 15:04:05"))
Time.After 是否在指定时间之后,如果是返回true Time.Before 是否在指定时间之前,如果是返回true time.Parse 按照指定格式将字符串转换为日期:
time2,err := time.Parse("2006-01-02 15:04:05","2022-05-11 15:04:05") if err != nil { fmt.Println(err) } fmt.Println(time2.Format("2006-01-02 15:04:05"))
补充:go语言时间和日期的转化
go 语言中使用time.Time表示时间。我们可以通过time.Now函数获取当前的时间对象,然后从时间对象中可以获取到年、月、日、时、分、秒等信息。
输出
time 包中定义的时间间隔类型的常量如下:
const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute )
例如:time.Hour表示1小时,time.Second表示1秒。
总结