// 固定日期格式
format := "2006-01-02 15:04:05"
// 按本地时区解析日期
location, _ := time.ParseInLocation(format, "2022-02-20 11:30:00", time.Local)
// 增加1年,三个参数分别是:年,月,日
date := location.AddDate(1, 0, 0)
// 减少1月
date = date.AddDate(0, -1, 0)
// 向下取整
dateTruncate := date.Truncate(1 * time.Hour)
// 取最接近的单位时间,例如单位是小时则>=30分取12点,小于则取11点
dateRound := date.Round(1 * time.Hour)
fmt.Println(dateTruncate.Format(format)) // 2023-01-20 11:00:00
fmt.Println(dateRound.Format(format)) // 2023-01-20 12:00:00
// 时间戳(秒)转为日期格式
seconds := date.Unix()
fmt.Println(seconds) // 1674185400
unix := time.Unix(seconds, 0)
fmt.Println(unix.Format(format)) // 2023-01-20 11:30:00
// 时间戳(毫秒)转为日期格式
unixMilli := date.UnixMilli()
fmt.Println(unixMilli) // 1674185400000
milli := time.UnixMilli(unixMilli)
fmt.Println(milli.Format(format)) // 2023-01-20 11:30:00
golang日期转换、日期增减计算、时间戳转换
最新推荐文章于 2024-11-20 21:03:11 发布