package main
import (
"fmt"
"time"
"userPackage"
)
func main() {
fmt.Println("main run")
userPackage.SomeFunc()
// 获取当前时间
time1 := time.Now()
fmt.Printf("获取当前时间类型: %T\n", time1)
fmt.Println("获取当前时间类型:", time1)
// 获取指定的时间
time2 := time.Date(2007, 7, 15, 16, 30, 28, 0, time.Local)
fmt.Println("获取指定的时间:", time2)
// 日期和文本之间的转换:time<-->string
fmt.Println("日期和文本之间的转换:", time2.String())
// 日期格式化成字符串:time-->string
fmt.Println("日期格式化成字符串:", time1.Format("2006-01-02T15:04:05.000000Z"))
// 字符串格式化成日期:string-->time(字符串也是需要进行格式处理,否则解析出错)
parseTime, err := time.Parse("2006-01-02 15:04:05", "2022-03-05 10:20:00.000000")
if err != nil {
fmt.Println("err:", err.Error())
} else {
fmt.Println("字符串格式化成日期:", parseTime)
}
// 秒时间戳
fmt.Println("秒时间戳:", time2.Unix())
// 纳秒时间戳
fmt.Println("纳秒时间戳:", time2.UnixNano())
// 获取时间的年月日(怎么将英文月份转换成数字)
fmt.Printf("获取时间的%v年%v月%v日\n:", time2.Year(), time2.Month(), time2.Day())
// 时间中的加减法
fmt.Println("对时间进行相加:",time2.Add(time.Hour))
fmt.Println("对时间进行相减:",time2.Sub(time2.AddDate(0,0,1)))
}
运行结果:
tool init
main run
获取当前时间类型: time.Time
获取当前时间类型: 2022-03-07 09:30:13.0091427 +0800 CST m=+0.003331001
获取指定的时间: 2007-07-15 16:30:28 +0800 CST
日期和文本之间的转换: 2007-07-15 16:30:28 +0800 CST
日期格式化成字符串: 2022-03-07T09:30:13.009142Z
字符串格式化成日期: 2022-03-05 10:20:00 +0000 UTC
秒时间戳: 1184488228
纳秒时间戳: 1184488228000000000
获取时间的2007年July月15日
:对时间进行相加: 2007-07-15 17:30:28 +0800 CST
获取时间的年月日: -24h0m0s