golang 时间time

1.格式化返回当前时间:两种形式

复制代码
func main() {
    //格式化输出日期第一种方法:now.Year()等
    now := time.Now()
    fmt.Printf("当前时间为:%d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(),
        now.Hour(), now.Minute(), now.Second())
    //将格式化输出日期作为一个字符串进行保存
    datastr := fmt.Sprintf("%d-%d-%d %d:%d:%d", now.Year(), now.Month(), now.Day(),
        now.Hour(), now.Minute(), now.Second())
    fmt.Println(datastr)
    //格式化输出日期第二种方法,format。2006/01/02 15:04:05 这个字符串的各个数字是固定的,必须是这样写,
    //这个字符串的各个数字是可以自由组合的,可以按照需求来返回时间和日期。链接符"-",":"也是可以随意更换的
    fmt.Println(now.Format("2006/01/02 15:04:05"))
}
复制代码

2.时间常量和休眠

时间常量    
    time.Hour
    time.Minute
    time.Second
    time.Millisecond
    time.Microsecond
    time.Nanosecond    
func main() {
    // 每隔0.1s打印一个数字。time.Sleep为休眠,时间单位只能*整数,不能*小数。Millisecond为毫秒
    for i := 0; i < 10; i++ {
        fmt.Println(i)
        time.Sleep(time.Millisecond * 100)
    }
}

3.time的时间戳Unix和Unixnano,表示从时间点January 1, 1970 UTC到时间点t所经过的时间(单位秒/纳秒)。常用于生成rand随机数,若不加rand.Seed种子,则每次都是一样的数而不是随机数。

func main() {
    fmt.Printf("秒时间戳为:%v,毫秒时间戳为%v\n", time.Now().Unix(), time.Now().UnixMicro())
    //生成[0,100]随机数n
    rand.Seed(time.Now().UnixNano())
    n := rand.Intn(100) + 1 //[0,100) +1
    fmt.Println("随机数为:", n)
}

 4.计算程序test()执行耗费的时间

复制代码
func test() {
    str := "hell0"
    for i := 0; i < 100000; i++ {
        str += strconv.Itoa(i)
    }
}
func main() {
    t1 := time.Now().Unix()
    test()
    t2 := time.Now().Unix()
    fmt.Printf("程序执行耗费时间为:%v秒\n", t2-t1)
}
复制代码

 

posted @   潇潇暮鱼鱼  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示