时间戳是指 1970年1月1日 0时0分 都现在的 毫秒值
//获取时间戳
func getTimeStamp() {
now := time.Now()
unix := now.Unix()
fmt.Println(unix)
}
now := time.Now()
// now是返回值
unix := now.Unix()
fmt.Println(unix)
// 将时间戳转换为时间
// time是包 Unix 是方法名
t := time.Unix(unix, 0)
fmt.Println(t)
//获取当前时间
now := time.Now()
fmt.Println(now)
//获取当前年份
year := now.Year()
//获取当前月
month := now.Month()
//获取当前日
day := now.Day()
//获取当前小时
hour := now.Hour()
//获取当前分钟
minute := now.Minute()
//获取当前秒
second := now.Second()
fmt.Printf("当前时间为 %d 年 %d 月 %d 日 %d 时 %d 分 %d 秒", year, month, day, hour, minute, second)
// 获取当前时间
now := time.Now()
// 当前时间加上 1.5小时 = 1小时 30 分钟
duration := time.Duration(time.Hour + time.Duration(30)*time.Minute)
add := now.Add(duration)
fmt.Println(add)
// 计算 2018年8月8日 到 1999年8月8日的时间间隔
// 东八区
location, _ := time.LoadLocation("Asia/Shanghai")
new := time.Date(2018, 8, 8, 0, 0, 0, 0, location)
old := time.Date(1999, 8, 8, 0, 0, 0, 0, location)
sub := new.Sub(old)
fmt.Println(sub)
//获取当前时间
now := time.Now()
//当前时间减去30分钟 注意是 负号
duration := time.Minute * 30
old := now.Add(-duration)
// 判断 old 是否在 new 之前
flag := old.Before(now)
fmt.Println(flag) // 输出结果 true
//获取当前时间
now := time.Now()
//当前时间 加了一天
add := now.Add(time.Duration(time.Hour) * 24)
// 判断 add 是否在 now 之后
println(add.After(now)) // true
fmt.Println("休眠5秒 ", time.Now().Second())
//程序运行到此处休眠5秒
time.Sleep(time.Second * 5)
fmt.Println("休眠结束 ", time.Now().Second())
num := 0
// 定义一个每秒执行一次的定时器
for t := range time.Tick(time.Second) {
//执行5秒后结束
if num++; num >= 5 {
return
}
fmt.Println(t.Second())
}
固定数字 | 对应格式 |
---|---|
2006 | yyyy |
01 | MM |
02 | dd |
15 | HH |
04 | mm |
05 | SS |
// 获取当前时间
now := time.Now()
// 将当前时间格式化
format := now.Format("2006/01/02 15/04/05")
fmt.Println(format)
str := "2022/07/04 22/40/50"
t, _ := time.Parse("2006/01/02 15/04/05", str)
fmt.Println(t) //默认时区 2022-07-04 22:40:50 +0000 UTC
// 以指定的时区解析
location, _ := time.LoadLocation("Asia/Shanghai")
inLocation, _ := time.ParseInLocation("2006/01/02 15/04/05", str, location)
fmt.Println(inLocation) //东八区 2022-07-04 22:40:50 +0800 CST
begin := time.Now().Nanosecond()
beginUnixMilli := time.Now().UnixMilli()
beginSecond := time.Now().Second()
strToTime()
fmt.Printf("程序运行 %d 纳秒 \n", time.Now().Nanosecond()-begin)
fmt.Printf("程序运行 %d 毫秒 \n", time.Now().UnixMilli()-beginUnixMilli)
fmt.Printf("程序运行 %d 秒", time.Now().Second()-beginSecond)