go基础time包的使用

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) //每秒都会执行的任务
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44865158/article/details/114800843