time包的使用
程序员文章站
2024-01-23 16:18:22
...
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
//1.获取当前时间
t1 := time.Now()//time.Time//结构体类型
fmt.Printf("%T\n",t1)//
fmt.Println(t1)
//2.获取指定时间
//调用的只是time包下的函数Date(),返回一个结构体对象
t2 := time.Date(2009,7,15,16,30,28,0,time.Local)//2009-07-15 16:30:28 +0800 CST
fmt.Printf("%T\n",t2)
fmt.Println(t2)//time.Time
//通过返回的这个结构体对象,可以调用这个结构体所拥有的方法
year1,month1,day1 := t2.Date()
fmt.Println(year1,month1,day1)
//3.time-->string之间的转换
/*
t1.Format("格式模版")-->string
模版的日期必须是固定:06-1-2-3-4-5
*/
//2006-1--日 15:04:05
s1 := t1.Format("2006年1月2日 15:04:05")
fmt.Println(s1)//2021年1月22日 14:55:27
s2 := t1.Format("2006/01/02")
fmt.Println(s2)//2021/01/22
//字符串类型转换为时间类型string->time
/*
time.Parsn("模版",str)-->time,err
*/
s3 := "1999年10月10号"//string
t3,err := time.Parse("2006年01月02号",s3)
if err != nil {
fmt.Println("err:",err)
}
fmt.Println(t3)
fmt.Printf("%T\n", t3)
fmt.Println("@@@@@@@@@")
fmt.Println(t1.String())
fmt.Println(t1)
//根据当前时间获取指定内容
year,month,day := t1.Date()//年月日
fmt.Println(year,month,day)
hour,min,sec := t1.Clock()//时分秒
fmt.Println(hour,min,sec)
year2 := t1.Year()
fmt.Println("年:", year2)
fmt.Println(t1.YearDay())//返回当前时间是一年中的哪一天
month2 := t1.Month()
fmt.Println("月:",month2)
fmt.Println("日:",t1.Day())
fmt.Println("时:", t1.Hour())
fmt.Println("分:", t1.Minute())
fmt.Println("秒:", t1.Second())
fmt.Println("纳秒:", t1.Nanosecond())
fmt.Println(t1.Weekday())
fmt.Println("$$$$$$$$$$$$$$$")
//5时间戳:指定日期,距离1970年1月1日0时0分0秒的差值,秒 纳秒
t4 := time.Date(1970,1,1,1,0,0,0,time.UTC)
timeStamp1 := t4.Unix() //差的秒值
fmt.Println(timeStamp1)
timeStamp2 := t1.Unix()
fmt.Println(timeStamp2)
timeStamp3 := t4.UnixNano()
fmt.Println(timeStamp3)
timeStamp4 := t1.UnixNano()
fmt.Println(timeStamp4)
fmt.Println("***********")
//6.时间间隔
t5 := t1.Add(time.Minute)
fmt.Println(t1)
fmt.Println(t5)
fmt.Println(t1.Add(24 * time.Hour))
t6 := t1.AddDate(1,0,0)
fmt.Println(t6)
d1 := t5.Sub(t1)//求两个时间的时间差值
fmt.Println(d1)//运行结果相差一分钟
//7.睡眠
time.Sleep(3 * time.Second)//让当前的程序进入睡眠状态
fmt.Println("main.....over......")
//睡眠1-10的随机秒数
rand.Seed(time.Now().UnixNano())//设置种子数
randNum := rand.Intn(10) + 1 //int
fmt.Println(randNum)
time.Sleep(time.Duration(randNum) * time.Second)
fmt.Println("睡醒了。。。。")
}
上一篇: php文件小修改,该如何处理
下一篇: python检索特定内容的文本文件实例