美文网首页
go 时间处理

go 时间处理

作者: 呦丶耍脾气 | 来源:发表于2023-03-19 21:14 被阅读0次

1.获取当前时间戳

fmt.Println(time.Now().Unix()) //1561713322

2.格式化时间

println("当前时间戳:", time.Now().Unix()) //时间戳
println("时间1:", time.Now().Format("2006-01-02 15:04:05"))
println("时间2:", time.Now().Format("2006-01-02"))
//时间戳转时间
var unix int64
unix = 1677749232
tt := time.Unix(unix, 0)
fmt.Println("时间戳转时间", tt.Format("2006-01-02 15:04:05"))
/*
输出:

当前时间戳: 1679219767                                                                                                                                          
时间1: 2023-03-19 17:56:07                                                                                                                                      
时间2: 2023-03-19                                                                                                                                               
时间戳转时间 2023-03-02 17:27:12    

*/

为什么是"2006-01-02 15:04:05",这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5

3.str格式化时间转时间戳

3.1 time.Date

theTime := time.Date(2023, 1, 1, 12, 23, 12, 0, time.Local)
println(theTime.Unix()) //1672546992

3.2 time.Parse


//方式2
t := "2023-03-02 17:27:12"
theTime1, err := time.Parse("2006-01-02 15:04:05", t)
if err != nil {
    fmt.Println(err.Error())
}
unixTime1 := theTime1.Unix()
fmt.Println("方式2: ", unixTime1-8*3600) // 1677778032 时区问题多了8个小时,需要减去8*3600
/*
方式2:  1677749232  
*/

3.3 ParseInLocation

//方式3
t := "2023-03-02 17:27:12"
var LOC, _ = time.LoadLocation("Asia/Shanghai")
theTime2, err := time.ParseInLocation("2006-01-02 15:04:05", t, LOC)
if err != nil {
    fmt.Println(err.Error())
}
fmt.Println("方式3: ", theTime2.Unix())
/*
方式3:  1677749232  
*/

相关文章

  • go时间处理

    推荐一个非常优秀的包 github.com/jinzhu/now 基本用法 使用中遇到时区问题 以上代码输出时区不...

  • go 数据库时间处理

  • go 中的时间相关处理

    时区 GMT(Greenwich Mean Time),格林威治平时。GMT 根据地球的自转和公转来计算时间,它规...

  • Go time

    Go time Go中提供了很多关于时间处理的内容,这篇文章来主讲讲解下时间上的内容。 最外层可以直接使用的方法 ...

  • 异常处理

    Go 的异常处理不同于其他语言使用的结构 对于 go 的异常处理, 使用 defer, panic, recove...

  • Go 语言基础——错误处理

    学习目标 掌握错误处理 掌握自定义错误处理 掌握defer关键字的使用 错误处理 GO没有异常处理机制 Go语言引...

  • go语言strings库总结

    最近由于用go做字符串处理,用到了go的strings库,借此对go strings库做个总结,将go strin...

  • 异常处理

    异常处理 Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go...

  • (译)Go 语言中异常处理的艺术

    原文链接:The Art of Error Handling in Go Go 语言的异常处理与其他语言截然不同,...

  • 2021-06-08

    Go的编程模式,错误处理 引入了其他语言的错误处理模式,最后,说明Go错误处理的好处。主要是将函数的入参、出参、错...

网友评论

      本文标题:go 时间处理

      本文链接:https://www.haomeiwen.com/subject/jmxerdtx.html