Go语言中的time函数的常用方法

获取当前时间和时间戳

/**
* @Author: fengzhilaoling
* @Date: 2021/4/27 6:05
**/
package main

import (
	"fmt"
	"time"
)

func main() {
    // 获取当前时间
	now := time.Now()
	fmt.Println(now)
    // 距离1970-01-01的秒数
	timestamp := time.Now().Unix()  
    // 距离1970-01-01的纳秒数
	result := time.Now().UnixNano()  
	fmt.Println(timestamp)
	fmt.Println(result)
}

时间戳和时间的相互转换

上面已经说过时间转换为时间戳了,下面只介绍时间戳转化为时间
/**
* @Author: fengzhilaoling
* @Date: 2021/4/27 6:05
**/
package main

import (
	"fmt"
	"time"
)

func main() {
	// 距离1970-01-01的秒数
	timestamp := 1619475378
	// 距离1970-01-01的纳秒数
	result := 1619475378008771800
	
    // 时间戳转换为时间
	timestampTime := time.Unix(int64(timestamp), 0)
	fmt.Println(timestampTime)

	resultTime := time.Unix(0, int64(result))
	fmt.Println(resultTime)
}

time.Unix(秒数, 纳秒数)

time中的Unix函数需要传达两个参数秒数的int64值和纳秒数的int64值

时间格式化为字符串和字符串格式化为时间

GO中的时间参照格式

Go语言中并没有像java等语言一样采用%Y%m%d等来作为时间格式化的参照

GO语言是使用了自己的诞生时间2006作为年的参照

GO语言中的短格式为:06-1-2 3:4

GO语言中的长格式为:2006-01-02 03:04

2006表示年,分别用1、2、3、4来表示月、日、时、分,长格式就是在前边加0表示两位

其中时间的24小时格式表示为:15

时间转换为字符串
/**
* @Author: fengzhilaoling
* @Date: 2021/4/27 6:05
**/
package main

import (
	"fmt"
	"time"
)

func main() {
	nowTime := time.Now()
	timeString := nowTime.Format("2006-01-02 15:04")
	fmt.Println(timeString)
}
时间字符串转换为时间
/**
* @Author: fengzhilaoling
* @Date: 2021/4/27 6:05
**/
package main

import (
	"fmt"
	"time"
)

func main() {
	timeString := "2018-08-01 20:08"
	nowTime ,_ := time.Parse("2006-01-02 15:04", timeString)
	fmt.Println(nowTime)
}
posted @ 2021-04-27 07:17  风之老凌  阅读(457)  评论(0)    收藏  举报