新闻中心
Golang如何使用time处理时间日期_Golang time时间日期操作实践
Go的time包用于处理时间日期,time.Now()获取当前时间,可提取年月日等信息;2. 时间格式化使用固定参考时间“Mon Jan 2 15:04:05 MST 2006”对应占位符,Parse解析字符串时间,ParseInLocation支持指定时区;3. 可通过Sub计算时间差,Add进行时间加减,Before、Equal比较时间先后;4. Sleep实现程序暂停,Ticker周期执行任务,After用于超时控制。

在Go语言中,time 包是处理时间与日期的核心工具。无论是解析字符串时间、格式化输出、计算时间差,还是定时任务,time包都能高效应对。掌握它的基本用法和常见技巧,对日常开发非常关键。
获取当前时间
使用 time.Now() 可以获取当前的本地时间,返回一个 time.Time 类型的值。
t := time.Now() fmt.Println(t) // 输出类似:2025-04-05 15:04:05.123456 +0800 CST
你可以从中提取年、月、日、时、分、秒等信息:
fmt.Println(t.Year()) // 年
fmt.Println(t.Month()) // 月(time.Month 类型)
fmt.Println(t.Day()) // 日
fmt.Println(t.Hour()) // 时
fmt.Println(t.Minute()) // 分
fmt.Println(t.Second()) // 秒
</font><H3>时间格式化与解析</H3><p>Go 的时间格式化不使用像 yyyy-MM-dd 这样的占位符,而是采用一个固定的“参考时间”来定义格式:<br><strong>Mon Jan 2 15:04:05 MST 2006</strong><br>
这个时间的每一位对应一种格式,例如:</p><ul><li>2006 → 年</li><li>01 → 月</li><li>02 → 日</li><li>15 → 小时(24小时制)</li><li>04 → 分</li><li>05 → 秒</li><li>Monday 或 Mon → 星期</li></ul><p>常用格式示例:</p><font color="#666"><pre class="brush:php;toolbar:false;">
t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05&
quot;)) // 标准格式
fmt.Println(t.Format("2006/01/02")) // 仅日期
fmt.Println(t.Format("15:04")) // 仅时间
解析字符串时间使用 time.Parse(),需传入格式模板和字符串:
str := "2025-04-05 10:30:00"
t, err := time.Parse("2006-01-02 15:04:05", str)
if err != nil {
log.Fatal(err)
}
fmt.Println(t)
注意:Parse 默认使用 UTC 时区。如需本地时区,使用 time.ParseInLocation:
loc, _ := time.LoadLocation("Asia/Shanghai")
t, _ := time.ParseInLocation("2006-01-02 15:04:05", str, loc)
时间计算与比较
time 包支持加减时间、计算时间差、判断先后等操作。
计算两个时间之间的差值:
GemDesign
AI高保真原型设计工具
652
查看详情
start := time.Now()
time.Sleep(2 * time.Second)
end := time.Now()
duration := end.Sub(start)
fmt.Printf("耗时: %v 秒\n", duration.Seconds())
时间加减使用 Add() 方法:
t := time.Now() later := t.Add(1 * time.Hour) // 1小时后 earlier := t.Add(-30 * time.Minute) // 30分钟前 fmt.Println(later) fmt.Println(earlier)
比较时间先后:
if earlier.Before(later) {
fmt.Println("earlier 在 later 之前")
}
if t.Equal(anotherTime) {
fmt.Println("两个时间相等")
}
定时与睡眠
使用 time.Sleep() 让程序暂停指定时间:
fmt.Println("开始")
time.Sleep(2 * time.Second)
fmt.Println("2秒后继续")
使用 time.Ticker 实现周期性任务:
ticker := time.NewTicker(1 * time.Second)
go func() {
for t := range ticker.C {
fmt.Println("每秒执行一次:", t)
}
}()
// 控制运行5秒后停止
time.Sleep(5 * time.Second)
ticker.Stop()
使用 time.After() 等待一段时间后触发,常用于超时控制:
select {
case <-time.After(3 * time.Second):
fmt.Println("3秒超时")
}
基本上就这些。Golang 的 time 包设计简洁,但功能完整。只要记住格式化模板是基于那个“神奇的时间”,其他操作都自然流畅。实际项目中,建议统一使用 location 避免时区混乱,处理时间尽量用 UTC 存储,展示时再转本地时间。不复杂但容易忽略细节。
以上就是Golang如何使用time处理时间日期_Golang time时间日期操作实践的详细内容,更多请关注其它相关文章!
# 都能
# 兼职推广app网站推荐
# 周口短视频seo软件
# 大型网站建设策略方案
# 怎么建做模型的网站推广
# 顺企网网站建设
# 郫县微信端网站建设
# 汽车类网站建设预算
# 黄岛大型门户网站建设
# seo公司外链优化
# 咸宁网站建设ppt
# 解决问题
# 中文网
# 相关文章
# golang
# 如何在
# 你可以
# 复用
# 如何实现
# 加减
# 如何使用
# yy
# 格式化输出
# ai
# 工具
# go语言
# go
# 时间日期
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接
期待已久:小米17 Ultra、小米首款NAS本月登场
Pandas DataFrame 高效批量赋值:告别循环与笛卡尔积误区
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
J*aScriptWebpack优化_J*aScript构建工具实战
win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】
Golang如何使用net/url解析URL_Golang URL解析与处理方法
c++如何实现一个简单的ECS框架_c++数据驱动设计与游戏开发
c++如何使用chrono库处理时间_c++标准库时间与日期操作
如何仅使用CSS更改登录界面背景图像图标的颜色
解决深度学习模型训练初期异常高损失与完美验证准确率问题
c++项目目录结构应该如何组织_c++工程化项目结构规范
微信网页版官方入口教程 微信网页版网页版快速登录步骤
J*aScript中管理异步API调用:确保操作顺序与数据一致性
J*a最大堆Heapify方法修复:索引计算与边界条件深度解析
html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】
漫蛙2在线漫画入口 漫蛙正版漫画网页版直达
excel怎么制作工资条 excel快速生成工资条的方法
CSS布局中意外空白:解决padding-top导致的顶部间距问题
解决Tabulator日期时间排序问题的专业指南
mc.js官网登录入口 mc.js官方登录入口最新版
如何使用Node.js csv 包按条件移除含空字段的CSV记录
12306怎么选座位选到安静区_12306选座安静区域选择策略
css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容
Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析
Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑
b站怎么删除评论_b站评论管理与删除操作
HTML长属性值处理:表单action路径优化与代码规范应对
ACG动漫视频网入口 ACG动漫*免费正版观看地址
抖音创作助手登录入口_抖音创作辅助工具官网直达
2026春节假期时间安排 2026春节假日查询
海棠账号登录入口_登录海棠账户同步阅读记录
R星幕后开发视频泄露 包含《GTA6》等多款大作
如何在CSS中使用visited与link控制链接颜色_visited link伪类配合
HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解
快速CSGO开箱网站指南 CSGO开箱平台推荐
厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新
学习通网页版官方登录 超星学习通电脑端入口指南
冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法
手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议
邮政快递包裹最新位置 邮政快递实时追踪入口
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南
C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图
如何在CSS中使用浮动制作导航栏_float实现水平菜单
J*aScript实现单选按钮与关联输入框的联动禁用教程
小红书商家版怎样在笔记嵌入商品卡路径_小红书商家版在笔记嵌入商品卡路径【挂载教程】
在Pyomo中实现基于变量的条件约束:Big-M方法详解
qq游戏免费畅玩入口_qq游戏电脑版快速启动


2025-12-09
浏览次数:次
返回列表
quot;)) // 标准格式
fmt.Println(t.Format("2006/01/02")) // 仅日期
fmt.Println(t.Format("15:04")) // 仅时间