首页> 基础笔记 >GoLang基础学习 >函数 函数

Golang常用日期和时间函数详解

作者:小萝卜 2023-04-06 浏览 318

简介在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码执行花费的时间等等。1)时间和日期相关函数,需要导入 time包2) time.Time类型,用于表示时间

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

1)时间和日期相关函数,需要导入   time包

2)  time.Time类型,用于表示时间

	//1. 获取当前时间
	now := time.Now()
	fmt.Printf("now=%v now type=%T\n", now, now)

3)如何获取到其它的日期信息

	//2.通过now可以获取到年月日,时分秒
	fmt.Printf("年=%v\n", now.Year())
	fmt.Printf("月=%v\n", now.Month())
	fmt.Printf("月=%v\n", int(now.Month()))
	fmt.Printf("日=%v\n", now.Day())
	fmt.Printf("时=%v\n", now.Hour())
	fmt.Printf("分=%v\n", now.Minute())
	fmt.Printf("秒=%v\n", now.Second())

4)格式化日期时间

方式 1:就是使用  Printf或者    SPrintf

	fmt.Printf("当前年月日 %d-%d-%d %d:%d:%d \n", now.Year(), 
	now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())

	dateStr := fmt.Sprintf("当前年月日 %d-%d-%d %d:%d:%d \n", now.Year(), 
	now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())

	fmt.Printf("dateStr=%v\n", dateStr)

方式二:使用   time.Format()方法完成:

	//格式化日期时间的第二种方式
	fmt.Printf(now.Format("2006-01-02 15:04:05")) //输出当前 年月日时分秒
	fmt.Println()
	fmt.Printf(now.Format("2006-01-02")) //输出当前 年月日
	fmt.Println()
	fmt.Printf(now.Format("15:04:05")) //输出当前时分秒
	fmt.Println()

	fmt.Printf(now.Format("2006")) //输出当前年
	fmt.Println()

对上面代码的说明:

"2006/01/02 15:04:05"这个字符串的各个数字是固定的,必须是这样写。

"2006/01/02 15:04:05"这个字符串各个数字可以自由的组合,这样可以按程序需求来返回时间和日期

5)时间的常量

const (

Nanosecond   Duration = 1 //纳秒

Microsecond = 1000 * Nanosecond   //微秒

Millisecond = 1000 * Microsecond //毫秒

Second = 1000 * Millisecond //秒

Minute = 60 * Second //分钟

Hour = 60 * Minute //小时

)

常量的作用:在程序中可用于获取指定时间单位的时间,比如想得到 100毫秒100 * time. Millisecond

6)结合  Sleep来使用一下时间常量

	//需求,每隔1秒中打印一个数字,打印到100时就退出
	//需求2: 每隔0.1秒中打印一个数字,打印到100时就退出
	i := 0
	for {
		i++
		fmt.Println(i)
		//休眠
		//time.Sleep(time.Second)
		time.Sleep(time.Millisecond * 100)
		if i == 100 {
			break
		}
	}

7)  time的 Unix和  UnixNano的方法

	//Unix和UnixNano的使用
	fmt.Printf("unix时间戳=%v unixnano时间戳=%v\n", now.Unix(), now.UnixNano())

得到的结果是:

unix时间戳=1680793276 
unixnano时间戳=1680793276491006600

很赞哦! (0)

文章评论

    高端网站建设