侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

在go语言中time包知识浅析及使用示例

Go  /  管理员 发布于 2个月前   58

go语言中time包知识介绍

时区

中国大陆一共分了 5 个时区,以哈尔滨 ( Asia/Harbin)、上海(Asia/Shanghai)、重庆(Asia/Chongqing)、乌鲁木齐(Asia/Urumqi)、喀什(Asia/Kashgar)

长白时区 GMT+8:30、中原标准时区 GMT+8、陇蜀时区 GMT+7、新藏时区 GMT+6 和昆仑时区 GMT+5:30。它是 1912 年北京观象台制订,后由内政部批准过。

香港时区 (Asia/Hong_Kong 或者 Hongkong),台北(Asia/Taipei)

时间格式化

使用 Format 函数进行格式化

最常使用格式化模板

2006-01-02 15:04:05

使用范例:

package main
import (
    "fmt"
    "time"
)
const TimeLayout = "2006-01-02 15:04:05"
func main() {
    fmt.Println(time.Now().Format(TimeLayout))
}


字符串转时间

通过 Parse 转换,默认是 UTC 时间

package main
import (
    "fmt"
    "time"
)
const TimeLayout = "2006-01-02 15:04:05"
func main() {
    timeString := "2008-08-08 20:08:08"
    fmt.Println(time.Parse(TimeLayout, timeString))
}


通过 ParseInLocation 转换,需要传时区

package main
import (
  "fmt"
  "time"
)
const TimeLayout = "2006-01-02 15:04:05"
func main() {
  timeString := "2008-08-08 20:08:08"
  fmt.Println(time.ParseInLocation(TimeLayout, timeString, time.Local))
}

time.Local 返回本机时区

通过时区名返回时区

loc, err := time.LoadLocation("Asia/Shanghai")


Unix 时间戳转时间

package main
import (
    "fmt"
    "time"
)
func main() {
    unixSeconds := int64(1688110691)
    fmt.Println(time.Unix(unixSeconds, 0))
}


时间运算

计算时间差

func Until(t Time) Duration
func Since(t Time) Duration 两个时间点的间隔
func (t Time) Sub(u Time) Duration  


计算时间点

func (t Time) Add(d Duration) Time
func (t Time) AddDate(years int, months int, days int) Time


时间比较

func (t Time) Before(u Time) bool
func (t Time) After(u Time) bool
func (t Time) Equal(u Time) bool 


延时,定时任务

time.Sleep(time.Duration(10) * time.Second)
func After(d Duration) <-chan Time
func AfterFunc(d Duration, f func()) *Timer


package main
import (
    "fmt"
    "time"
)
func main() {
    count := 0
    ticker := time.NewTicker(1 * time.Second)
    for t := range ticker.C {
        fmt.Println(t)
        count++
        fmt.Println(count)
        if count == 10 {
            ticker.Stop()
            break
        }
    }


  • 上一条:
    在go语言中使用gorm批量插入数据库代码示例
    下一条:
    在go语言中实现捕获一个子进程的stdout并根据结果进行处理代码示例
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • go语言多项目批量更新依赖及自动调用jenkins构建流程步骤(0个评论)
    • 在go语言中实现数学pow(x^y 的幂次)代码示例(0个评论)
    • 在go语言中实现从http响应中解码JSON数据(0个评论)
    • go语言中如何使用JSON网络令牌(JWT)在控制器之间传递数据(0个评论)
    • 在go语言中的单测工具推荐:Go Convey(0个评论)
    • 近期文章
    • Laravel 10.24版本发布(0个评论)
    • go语言多项目批量更新依赖及自动调用jenkins构建流程步骤(0个评论)
    • 在go语言中实现数学pow(x^y 的幂次)代码示例(0个评论)
    • Laravel应用程序性能监控 (APM) 工具:Scout (0个评论)
    • 推荐一款针对git、diff和grep输出的语法高亮显示的扩展包:Git Delta(0个评论)
    • laravel框架中以公共函数方式实现job异步化执行封装代码示例(0个评论)
    • 在go语言中实现从http响应中解码JSON数据(0个评论)
    • go语言中如何使用JSON网络令牌(JWT)在控制器之间传递数据(0个评论)
    • 计算机网络知识详解(0个评论)
    • Laravel HTTP 测试与Symfony的DomCrawler(0个评论)
    • 近期评论
    • 路人 在

      php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..
    • 博主 在

      科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 @ mashrdn 多切换几个节点测试,免费ssr是没那么稳..
    • mashrdn 在

      科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 V2rayn免费节点添加上去了,youtobe无法打开网页,是怎么回事..
    • 张伟 在

      科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 3q!有用,不过免费节点隔天就要去git上复制新的导进去..
    • 博主 在

      科学上网翻墙访问Google , 上外网神器佛跳墙VPN(永久免费)使用流程步骤中评论 该篇教程已不能用了,告知大家,免的老有老铁问我!..
    • 2016-10
    • 2017-09
    • 2020-03
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-12
    • 2021-01
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客