Go语言标准库time

作者: ropon 分类: Go 发布时间: 2019-11-20 13:43
package main

import (
	"fmt"
	"time"
)

//time.Unix() 将时间戳转换为时间格式
func timestamp2Time(timestamp int64) {
	timeObj := time.Unix(timestamp, 0) //将时间戳转换为时间格式
	fmt.Printf("当前时间: \n", timeObj)
	//年
	fmt.Println(timeObj.Year())
	//月
	fmt.Println(timeObj.Month())
	//日
	fmt.Println(timeObj.Day())
	//时
	fmt.Println(timeObj.Hour())
	//分
	fmt.Println(timeObj.Minute())
	//秒
	fmt.Println(timeObj.Second())
}

func tickDemo() {
	ticker := time.Tick(time.Second)
	for i := range ticker {
		//每秒执行一次
		fmt.Println(i)
	}
}

func main() {
	//now := time.Now()
	//fmt.Printf("当前时间: \n", now)
	////年
	//fmt.Println(now.Year())
	////月
	//fmt.Println(now.Month())
	////日
	//fmt.Println(now.Day())
	////时
	//fmt.Println(now.Hour())
	////分
	//fmt.Println(now.Minute())
	////秒
	//fmt.Println(now.Second())
	////时间戳
	//fmt.Println(now.Unix())
	////纳秒时间戳
	//fmt.Println(now.UnixNano())
	//timestamp2Time(1573626296)

	//time.Duration 是time包定义的一个类型 表示2个时间点经过的时间 纳秒为单位
	//表示1纳秒
	//time.Duration()
	//表示1秒
	//time.Second
	//表示1分钟
	//time.Minute
	//表示1小时
	//time.Hour

	//time.Sleep(time.Second*5)
	//fmt.Println("睡了5秒~")

	//时间操作
	// Add 函数 时间 + 时间间隔
	//func (t Time) Add(d Duration) Time
	//later := now.Add(time.Hour)
	//fmt.Println(later)

	//Sub 函数 请两个时间之间差值
	//func (t Time) Sub(u Time) Duration
	//返回 t - u 时间差值

	//Equal 函数 判断两个时间是否相同 不同时区也可以正常比较
	//func (t Time) Equal(u Time) bool

	//Before 函数
	//func (t Time) Before(u Time) bool t表示时间在u之前返回真 否则为假

	//After 函数
	//func (t Time) After(u Time) bool t表示时间在u之后返回真 否则为假

	//定时器
	//time.Tick(d Duration) 定时器本质是一个通道(channel)
	//tickDemo()

	//时间格式化
	//时间类型有Format方法进行格式化
	//格式化模板 Go出生时间2006年1月2号15点04分05秒.000 Mon Jan
	//fmt.Println(now.Format("2006-01-02 15:04:05 Mon Jan"))
	//fmt.Println(now.Format("2006-01-02 03:04:05 PM Mon"))
	//fmt.Println(now.Format("2006/01/02"))

	//字符串时间转时间类型
	//loc, err := time.LoadLocation("Asia/Shanghai")
	//if err != nil {
	//	fmt.Println(err)
	//	return
	//}
	//timeObj, err := time.ParseInLocation("2006-01-02 15:04:05", "2019-11-02 15:04:05", loc)
	//if err != nil {
	//	fmt.Println(err)
	//	return
	//}
	//fmt.Println(timeObj)
	//fmt.Println(timeObj.Sub(now))

	//练习
	//fmt.Println(now.Format("2006/01/02 15:04:05"))

	start := time.Now()
	fmt.Println("代码执行中……")
	fmt.Println("代码执行中……")
	fmt.Println("代码执行中……")
	fmt.Println("代码执行中……")
	fmt.Println("代码执行中……")
	fmt.Println("代码执行中……")
	//time.Sleep(time.Second*2)
	dr := time.Now().Sub(start)
	//fmt.Printf("%T", dr)
	fmt.Printf("程序执行了%d微秒", dr.Microseconds())

}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!