Go语言之函数使用(13)时间和日期相关函数

一、基本介绍

在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码执行花费的时间等等。

二、基本使用

1、时间和日期相关函数,需要导入 time包
这里写图片描述

2、time.Time 类型,用于表示时间,
注意: Time类型绑定很多的方法

td :=time.Now()//返回类型就是time.Time
    fmt.Printf("td的类型是%T td的返回值是%v \n",td,td )

3、获取到当前时间的方法:

now := time.Now() // now 的类型就是time.Time

4、获取到其它的日期信息

fmt.Println("------------获取当前时间-----------")
    /*1、获取当前时间*/
    td :=time.Now()//返回类型就是time.Time
    fmt.Printf("td的类型是%T td的返回值是%v \n",td,td )
    fmt.Println("------------------------------------")

    fmt.Println("---------获取到其它的日期信息----------")
    fmt.Println("当前年份:",td.Year())
    fmt.Println("当前月份:",td.Month())
    fmt.Println("当前月份:",int(td.Month()))
    fmt.Println("当前日份:",td.Day())
    fmt.Println("当前日的时:",td.Hour())
    fmt.Println("当前日的分:",td.Minute())
    fmt.Println("当前日的秒:",td.Second())
    fmt.Println("------------------------------------")

5、格式化日期时间
说明:
“2006/01/02 15:04:05” 这个字符串的各个数字是固定的,必须是这样写。
“2006/01/02 15:04:05” 这个字符串各个数字可以自由的组合,这样可以按程序需求来返回时间和日期

/*格式化日期时间*/
   fmt.Println("------------格式化日期时间一-----------")
    // 格式化的第一种方式

    fmt.Printf("当前年月日 %02d-%02d-%02d %02d:%02d:%02d \n", 
    td.Year(), td.Month(), td.Day(), 
    td.Hour(), td.Minute(), td.Second())
    fmt.Println("------------------------------------")
    // 格式化的第二种方式:固定格式
    fmt.Println("------------格式化日期时间二-----------")
    fmt.Printf(td.Format("2006/01/02 15:04:05"))
    fmt.Println()
    fmt.Printf(td.Format("15:04:05 2006/01/02"))
    fmt.Println()
    fmt.Printf(td.Format("2006-01-02"))
    fmt.Println()
    fmt.Printf(td.Format("15:04:05"))
    fmt.Println()
    fmt.Println("------------------------------------")

6、时间的常量
这里写图片描述

7、休眠

func Sleep(d Duration)

案例: time.Sleep(100 * time.Millisecond) //休眠100毫秒

//休眠
    fmt.Println("--------------休眠-------------------")
    // time.Sleep(1000 * time.Millisecond)  //休眠1秒
    time.Sleep( time.Second)  //休眠1秒
    fmt.Println("------休眠1秒-----")
    fmt.Println("------------------------------------")


8、获取当前unix 时间戳 和 unixnano 时间戳。(作用是可以获取随机数字)

//获取当前unix 时间戳  和 unixnano 时间戳。(作用是可以获取随机数字)
    fmt.Println("-------获取当前unix 时间戳 和 unixnano 时间戳---------")
    fmt.Println("当前unix 时间戳:",td.Unix())
    fmt.Println("unixnano 时间戳:",td.UnixNano())
    fmt.Println("------------------------------------")

三、最佳实践案例
编写一段代码来统计 函数执行的时间。

/*
编写一段代码来统计 函数执行的时间。 
*/
func CodeTime()  {
    start :=time.Now().Unix()
    fmt.Println("start时间",start)
    // TimeDateDemo()
    code()
    end :=time.Now().Unix()
    fmt.Println("end时间",end)
    res := end -start
    fmt.Printf("时间差:%d \n",res)
}

func code()  {
    str := "hello"
    for i := 0; i < 100000; i++ {
        str += strconv.Itoa(i)
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值