package main
import (
"fmt"
"time"
)
func main() {
now := time.Now() //获得当前时间
year := now.Year() //年
month := now.Month() //月
day := now.Day() //日
hour := now.Hour() //时
minute := now.Minute() //分
second := now.Second() //秒
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)
unix := now.Unix() //毫秒时间戳,从1970.1.1的上午8:00到此时此刻
unixnano := now.UnixNano() //纳秒时间戳
fmt.Println(unix, unixnano)
//将时间戳转为时间格式,时间戳要传入毫秒的时间戳
nowunix := time.Unix(unix, 0)
//go语言中的时间格式化和其他语言的时间模板不太一样,是go语言诞生的日子2006.1.2 15:04:05.000
//浪漫的一批
//如果用12小时表示法,那么就在后面加上一个PM
fmt.Println(nowunix.Format("2006.1.2.3 15:04:05.000")) //时间格式化
//时间戳转换为时间格式
timeyear := nowunix.Year() //年
timemonth := nowunix.Month() //月
timeday := nowunix.Day() //日
timehour := nowunix.Hour() //时
timeminute := nowunix.Minute() //分
timesecond := nowunix.Second() //秒
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", timeyear, timemonth, timeday, timehour, timeminute, timesecond)
//时间常量
// const (
// Nanosecond Duration = 1
// Microsecond = 1000 * Nanosecond
// Millisecond = 1000 * Microsecond
// Second = 1000 * Millisecond
// Minute = 60 * Second
// Hour = 60 * Minute
// )
//Add函数,追加时间
addhour := now.Add(3 * time.Hour)
fmt.Println(addhour.Format("2006-01-02 15:04:05"))
//加载时区,中国上海
load, _ := time.LoadLocation("Asia/Shanghai")
//将字符串中的时间转为time.Time的类型
strtime, _ := time.ParseInLocation("2006/01/02 15:04:05", "2022/08/04 14:15:20", load)
//Sub函数,比较时间相差多少
subtime := now.Sub(strtime)
fmt.Println(subtime)
//判断两个时间是否相同,会考虑时区的影响,因此不同时区标准的时间也可以正确比较。本方法和用t==u不同,这种方法还会比较地点和时区信息。
bool := now.Equal(strtime)
fmt.Println(bool)
//时间比较,在当前时间之前返回True,在当前时间之后返回false
befbool := now.Before(strtime)
fmt.Println(befbool)
//定时器
ticker := time.Tick(time.Second) //定义一个1秒间隔的定时器
for i := range ticker {
fmt.Println(i) //每秒都会执行的任务
}
}
go基础time包的使用
猜你喜欢
转载自blog.csdn.net/weixin_44865158/article/details/114800843
今日推荐
周排行