Golang学习(十一) 时间日期函数

时间日期函数来自于time包

 1、获取当前日期

package main

import (
	"fmt"
	"time"
)

func main()  {
	now := time.Now()  //time.Now() 获取当前日期
	fmt.Println(now)
}

返回

2021-11-18 11:05:28.0030785 +0800 CST m=+0.004948001

2、获取指定时间日期

package main

import (
	"fmt"
	"time"
)

func main()  {
	// 获取当前日期
	now := time.Now()
	fmt.Println(now)


	fmt.Printf("年=%v\n",now.Year())         //年
	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())       //秒

}

返回

2021-11-18 11:06:59.6157726 +0800 CST m=+0.004575801
年=2021
月=11
日=18
时=11
分=6
秒=59

3、格式化日期时间1

package main

import (
	"fmt"
	"time"
)

func main()  {
	
	now := time.Now()   // 获取当前日期
	
	fmt.Printf("当前年月日 %d-%d-%d %d:%d:%d \n",now.Year(),
		now.Month(),  now.Day(),  now.Hour(), now.Minute(), now.Second())
                           //可用使用Printf 格式化输出



	//也可以通过SPrintf将值接收,赋值给一个变量
	dateStr := 	fmt.Sprintf("当前年月日 %d-%d-%d %d:%d:%d \n",now.Year(),
		now.Month(),  now.Day(),  now.Hour(), now.Minute(), now.Second())

	fmt.Println(dateStr)

}

返回

当前年月日 2021-11-18 11:9:39 
当前年月日 2021-11-18 11:9:39 

4、格式化日期时间2

package main

import (
	"fmt"
	"time"
)

func main()  {

	now := time.Now()


    //固定语法,now.Format("2006/01/02 15:04:05")
    //这个时间是固定的,然后会输出当前时间
	fmt.Println(now.Format("2006/01/02 15:04:05"))
	



	//如果只需要部分的值,那么就去除不想要的部分,如下
	fmt.Println(now.Format("2006/01/02"))



}

返回

2021/11/18 11:12:29
2021/11/18

5、 时间的常量

package main

const(
	Nanosecond     = 1                  //纳秒
	Microsecond    = 1000 * Nanosecond  //微秒
	Millisecond    = 1000 * Microsecond //毫秒
	Second         = 1000 * Millisecond //秒
	Minute         = 60   * Second      //分钟
	Hour           = 60   * Minute      //小时
)
func main()  {

    //比如我想得到100毫秒
	//time.Millisecond * 100
}

6、程序休眠

要求每隔1秒打印一个数字,打印到100时退出

package main

import (
	"fmt"
	"time"
)

func main()  {
	
	i := 0
	for {
		i++
		fmt.Println(i)  
		time.Sleep(time.Second)   // 1-100  每输出一次,休眠1秒

		if i == 100{
			break
		}
	}
}

修改时间,改为0.1秒输出一次

package main

import (
	"fmt"
	"time"
)

func main()  {
	i := 0
	for {
		i++
		fmt.Println(i)

        //改为0.1s输出,1s等于1000毫秒
        //那就是1毫秒*100
        //Millisecond * 100
		time.Sleep(time.Millisecond * 100)
		if i == 100{
			break
		}
	}
}

7、获取当前unix时间戳和unixnaoo时间戳(可以获取随机数字)

unix 时间戳                 从1970年到现在有多少秒
unixnano 纳秒时间戳   从1970年到现在有多少纳秒

package main

import (
	"fmt"
	"time"
)

func main()  {
	now := time.Now()
	fmt.Printf("unix时间戳=%v\nunixnano时间戳=%v", now.Unix(),now.UnixNano())
}

 返回

unix时间戳=1637206130
unixnano时间戳=1637206130280651300

你可能感兴趣的:(GO,GO函数,go,golang,开发语言)