golang处理时间的包time一次性全面了解

news2025/4/19 17:30:48

本文旨在对官方time包有个全面学习了解。不钻抠细节,但又有全面了解,重点介绍常用的内容,一些低频的可能这辈子可能都用不上。主打一个花最少时间办最大事。

  • Duration对象: 两个time实例经过的时间,以长度为int64的纳秒来计数。
    常见的duration, golang没有预设天或者比天大的duration单位,为了避免跨夏令时转换问题

    Nanosecond Duration = 1 //纳秒
    Microsecond = 1000 * Nanosecond //微秒
    Millisecond = 1000 * Microsecond //毫秒
    Second = 1000 * Millisecond
    Minute = 60 * Second
    Hour = 60 * Minute

    获取单位间的进制数:
    fmt.Print(int64(second/time.Millisecond)) // prints 1000

    • Duration对象上的常用方法
      • ParseDuration(s string) (Duration, error) : 将字符串解析为duration, 类似这种字符串"-1h10m10s6ms7us8ns",最前面可以有-表反向,不加就是正向,-只能加在最前面,比如这个例子-加在-10s就会抛错
      • String() string : 以"72h3m0.5s"格式打印
      • Since(t Time) Duration : time.Now().Sub(t)的简便写法
      • Truncate(m Duration) Duration : 保留m的整数倍duration,其余全舍弃,相当于除m(/m)
      • Round(m Duration) Duration: 保留距离m的倍数最近的duration,也就除m后会四舍五入
  • 获取location常用方法

    • time.LoadLocation(name string) (*Location, error): name: 预设的时区名,找不到会抛错,名字大小写严格敏感

      chinaLocation, err := time.LoadLocation(“Asia/Shanghai”)
      if err != nil {//逻辑上很有必要检测下
      panic(err)
      }

    • time.FixedZone(name string, offset int) *Location : name打印时时区部分原样展示这个, offset 对于UTC的偏移量(秒)

      chinaLocation := time.FixedZone(“CST”, int(860time.Second))

  • 字符串解析为时间

    • time.Parse(layout, value string) (Time, error): time.Parse(“2006-01-02 15:04:05 MST”, “2025-04-17 15:16:17 CST”)
      • layout中月/日/小时/分钟/秒/年分别由1/2/3(24小时就是15)/4/5/6表示;带时区固定用MST(美国山区时间)。golang本身有些预设layout,
        比如time.DateTime就和上面例子中的一样但不带MST
    • time.ParseInLocation(layout, value string, loc *Location) (Time, error) :同time.Parse差不多,只是时区由第二个参数指定
  • 时间戳转换到时间time对象

    • time.Unix(sec int64, nsec int64) Time: time.Unix(1744881455, 0)
  • 一种创建时间time对象

    • time.Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
  • time对象的常用方法

    • In(loc *Location) Time : 原本time实例复制,但时区设为loc,为了打印日期用的。//比如打印美国的时间 time.Now().In(美国Location对象).Format(“2006-01-02 15:04:05 MST”)
    • Format(layout string) string :根据layout格式打印出字符串日期 //time.Now().Format(“2006-01-02 15:04:05 MST”)
    • Unix() int64 : 获取time对象的时间戳
    • Sub(u Time) Duration : 与时间u的差值 //

      start := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
      end := time.Date(2000, 1, 1, 12, 0, 0, 0, time.UTC)
      diff := end.Sub(start)
      fmt.Printf(“difference = %v; 分钟=%v\n”, diff, diff.Minutes()) //diff = 12h0m0s; 分钟=720

    • AddDate(years int, months int, days int) Time : 增加/减少日期 // 比如AddDate(-1, 2, 3)
  • Sleep(d Duration): 暂停当前协程至少时间d。d为<=0时,sleep立马返回

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2337431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【4.1.-4.20学习周报】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 摘要Abstract一、方法介绍1.1HippoRAG 1.2HippoRAG2二、实验2.1实验概况2.2实验代码2.3实验结果 总结 摘要 本博客介绍了论文《From RAG to Memory: Non-Parametri…

python学习—合并多个word文档

系列文章目录 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停&#xff0c;游戏抽签抽奖 python学习—循环语句-控制流 python学习—合并多个Excel工作簿表格文件 pytho…

[Python] UV工具入门使用指南——小试牛刀

背景 MCP开发使用到了uv&#xff0c;简单记录一下&#xff1a; 为什么MCP更推荐使用uv进行环境管理&#xff1f; MCP 依赖的 Python 环境可能包含多个模块&#xff0c;uv 通过 pyproject.toml 提供更高效的管理方式&#xff0c;并且可以避免 pip 的一些依赖冲突问题。…

PclSharp ——pcl的c#nuget包

简介&#xff1a; NuGet Gallery | PclSharp 1.8.1.20180820-beta07 下载.NET Framework 4.5.2 Developer Pack&#xff1a; 下载 .NET Framework 4.5.2 Developer Pack Offline Installer 离线安装nupkg&#xff1a; nupkg是visual studio 的NuGet Package的一个包文件 安…

MGR实现mysql高可用性

一。MGR和PXC的区别 1. PXC的消息广播机制是在节点间循环的&#xff0c;需要所有节点都确认消息&#xff0c;因此只要有一个节点故障&#xff0c;则会导致整个PXC都发生故障。而MGR则是多数派投票模式&#xff0c;个别少数派节点故障时&#xff0c;一般不影响整体的可用性。这…

新型多机器人协作运输系统,轻松应对复杂路面

受到鱼类、鸟类和蚂蚁等微小生物体协作操纵的启发&#xff0c;研究人员开发了多机器人协作运输系统&#xff08;Multirobot Cooperative Transportation Systems&#xff0c;MRCTS&#xff09;运输单个机器人无法处理的重型超大物体&#xff0c;可用于搜救行动、灾难响应、军事…

【秣厉科技】LabVIEW工具包——OpenCV 教程(19):拾遗 - imgproc 基础操作(上)

文章目录 前言imgproc 基础操作&#xff08;上&#xff09;1. 颜色空间2. 直方图3. 二值化4. 腐蚀、膨胀、开闭运算5. 梯度与轮廓6. 简易绘图7. 重映射 总结 前言 需要下载安装OpenCV工具包的朋友&#xff0c;请前往 此处 &#xff1b;系统要求&#xff1a;Windows系统&#x…

学习笔记:金融经济学 第3讲

学习笔记&#xff1a;金融经济学 第3讲 注&#xff1a;A本金&#xff0c;n时间&#xff08;比如年&#xff09;&#xff0c;r利率一、 计算习惯1. 单息&#xff08;新产生的利息不算进本金重新计算利息&#xff0c;收款额A(1nr) &#xff09;2. 复利(新产生的利息算进本金重新计…

NVIDIA RTX™ GPU 低成本启动零售 AI 场景开发

零售行业正在探索应用 AI 升级客户体验&#xff0c;同时优化内部流程。面对多重应用场景以及成本优化压力&#xff0c;团队可采用成本相对可控的方案&#xff0c;来应对多重场景的前期项目预演和落地&#xff0c;避免短期内大规模投入造成的资源浪费。 客户体验 AI 场景的研究…

【网络】IP层的重要知识

目录 1.IP层的作用 2.主机和节点 3.网络层和数据链路层的关系 4.路由控制 4.1.路由控制的过程 4.2. IP地址与路由控制 4.3.路由控制表的聚合 4.4.静态路由和动态路由 4.5.动态路由的基础 5.数据链路的抽象化 5.1.数据链路不同&#xff0c;MTU则相异 5.2.路径MTU发…

OpenCV 模板匹配方法详解

文章目录 1. 什么是模板匹配&#xff1f;2. 模板匹配的原理2.1数学表达 3. OpenCV 实现模板匹配3.1基本步骤 4. 模板匹配的局限性5. 总结 1. 什么是模板匹配&#xff1f; 模板匹配&#xff08;Template Matching&#xff09;是计算机视觉中的一种基础技术&#xff0c;用于在目…

一键解锁Landsat 9地表温度计算!ENVI与ArcGIS Pro全流程详解(无需NASA大气校正)

为什么选择Landsat 9的L2SP数据&#xff1f; 之前&#xff1a;《ArcGIS与ENVI——基于landsat与Modis影像的遥感技术的生态环境质量评价》&#xff0c;基于Landsat前期的产品计算温度反演数据需要一系列复杂的步骤。 现在&#xff1a; Landsat 8-9的Collection 2 Level-2&…

RK3588的linux下实现HDMI输出分辨率及帧率的裁剪

bug反馈&#xff1a;客户现场反馈hdmi接显示屏出现概率性闪黑屏&#xff0c;排除线材&#xff0c;显示屏及GND等外部因素后&#xff0c;提出尝试降低hdmi的输出分辨率和帧率对比测试看看。 Step1&#xff1a;先直接在linux的sdk中找到板卡编译生成后的dts找到hdmi节点 然后找到…

XR技术赋能艺术展演|我的宇宙推动东方美学体验化

本次广州展览现场引入我的宇宙XR体验模块&#xff0c;通过空间计算与动作捕捉技术&#xff0c;让观众在潮玩艺术氛围中体验虚拟互动&#xff0c;打造“看得懂也玩得动”的展演新场景。 作为科技与文化融合的推动者&#xff0c;我的宇宙正在以“体验科技”为媒介&#xff0c;为潮…

多线程进阶知识篇(二)

文章目录 一、Synchronized 锁二、ReentrantLock 锁三、两阶段终止阶段一&#xff1a;通知终止阶段二&#xff1a;响应中断 四、线程池为什么要使用线程池&#xff1f;如何创建线程池&#xff1f;ExecutorsThreadPoolExecutor 线程池的基本参数 五、线程池处理任务的流程 一、S…

Python深度学习基础——深度神经网络(DNN)(PyTorch)

张量 数组与张量 PyTorch 作为当前首屈一指的深度学习库&#xff0c;其将 NumPy 数组的语法尽数吸收&#xff0c;作为自己处理张量的基本语法&#xff0c;且运算速度从使用 CPU 的数组进步到使用 GPU 的张量。 NumPy 和 PyTorch 的基础语法几乎一致&#xff0c;具体表现为&am…

简单实现单点登录

单点登录 单点登录&#xff08;Single Sign-On, SSO&#xff09; SSO是一种统一身份认证技术&#xff0c;用户只需在认证平台登录一次&#xff0c;即可访问所有关联的应用程序或网站&#xff0c;无需重复输入凭据。例如&#xff0c;企业员工登录内部系统后&#xff0c;可直接…

02、GPIO外设(一):基础知识

基础知识 1、ZET6的引脚分布2、引脚输出3、引脚输入4、最大输出速度 1、ZET6的引脚分布 下面使用C8T6的引脚来类比ZET6的引脚&#xff0c;ZET6中的特殊功能引脚和C8T6的特殊功能引脚是一样。而通用IO引脚比C8T6多而已。下面的C8T6的特殊功能引脚的介绍&#xff1a; STM32F103C8…

智能Todo协作系统开发日志(二):架构优化与安全增强

&#x1f4c5; 2025年4月14日 | 作者&#xff1a;Aphelios380 &#x1f31f; 今日优化目标 在原Todo单机版基础上进行三大核心升级&#xff1a; 组件化架构改造 - 提升代码可维护性 本地数据加密存储 - 增强隐私安全性 无障碍访问支持 - 践行W3C标准 一、组件化架构改造 …

【C++初阶】第14课—缝合怪deque和优先队列、仿函数

文章目录 1. 双端队列deque1.1 认识deque1.2 deque的迭代器1.3 deque的常用接口1.4 deque的优缺点 2. 优先队列priority_queue2.1 认识priority_queue2.2 模拟实现优先队列priority_queue 3. 仿函数 在学习deque之前&#xff0c;回顾一下vector和list各自的优缺点 数据结构优点…