golang中日期操作之日期格式化及日期转换

在编程中,程序员会经常使用到日期相关操作,下面这篇文章主要给大家介绍了关于golang中日期操作之日期格式化及日期转换的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

golang中并没有像java一样提供类似yyyy-MM-dd HH:mm:ss格式的操作,而是将其定义为golang的诞生时间:

2006-01-02 15:04:05 -0700 MST

注意这在golang的日期格式化里不是一个具体日期,而是格式,这样如果我们需要格式化日期,可以如下操作

timeNow := time.Now() fmt.Println("yyyy-MM-dd HH:mm:ss" ,timeNow.Format("2006-01-02 15:04:05")) // 打印: yyyy-MM-dd HH:mm:ss: 2022-05-11 14:24:19 

接下来说下Time中的几个方法:

Time.Unix() 获取时间秒数,返回的是unix时间秒

fmt.Println("from 1970-01-01 to now seconds: ",int32(time.Now().Unix()))

Time.Date() 返回年月日:

year,month,day := timeNow.Date() fmt.Println(year,month,day) // 注意打印的是: 2022 May 11 

Time.AddDate 时间增减:

timeLast := timeNow.AddDate(0,0,-1) fmt.Println(timeLast.Format("2006-01-02 15:04:05")) 

Time.Add 增加指定的时间,可以精确到纳秒

time2 := timeNow.Add(time.Duration(2000*time.Millisecond)) fmt.Println(time2.Format("2006-01-02 15:04:05")) 

Time.After 是否在指定时间之后,如果是返回true Time.Before 是否在指定时间之前,如果是返回true time.Parse 按照指定格式将字符串转换为日期:

time2,err := time.Parse("2006-01-02 15:04:05","2022-05-11 15:04:05") if err != nil { fmt.Println(err) } fmt.Println(time2.Format("2006-01-02 15:04:05")) 

补充:go语言时间和日期的转化

go 语言中使用time.Time表示时间。我们可以通过time.Now函数获取当前的时间对象,然后从时间对象中可以获取到年、月、日、时、分、秒等信息。

package main import (     "fmt"     "time" ) func main() {     t := time.Now() // 获取当前时间     fmt.Printf("当前时间:%v\n", t)     fmt.Println("年", t.Year())     fmt.Println("月", t.Month())     fmt.Println("日", t.Day())     fmt.Println("时", t.Hour())     fmt.Println("分", t.Minute())     fmt.Println("秒", t.Second()) }

输出

当前时间:2022-05-19 21:38:39.7367663 +0800 CST m=+0.001805001
年 2022
月 May 
日 19  
时 21  
分 38  

time 包中定义的时间间隔类型的常量如下:

const (     Nanosecond  Duration = 1     Microsecond          = 1000 * Nanosecond     Millisecond          = 1000 * Microsecond     Second               = 1000 * Millisecond     Minute               = 60 * Second     Hour                 = 60 * Minute )

例如:time.Hour表示1小时,time.Second表示1秒。

总结

到此这篇关于golang中日期操作之日期格式化及日期转换的文章就介绍到这了,更多相关golang日期格式化及转换内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是golang中日期操作之日期格式化及日期转换的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程