Hugo 模板中的 TIME.Day 方法:从 time.Time 提取「日」并正确处理时区

发布时间:2026/10/5 14:02:19

Hugo 模板中的 TIME.Day 方法:从 time.Time 提取「日」并正确处理时区 开发工具前端CLI【免费下载链接】hugoThe world’s fastest framework for building websites.项目地址https://gitcode.com/gh_mirrors/hu/hugo点击查看免费下载本篇指南讲解 Hugo 模板方法Day——对一个time.Time值调用后返回该时间点所在月份的「日」1–31 的整数常用于日期归档、按日分组统计、日粒度视图等场景。读完本文你将掌握Day的完整调用方式、与其配套的time.AsTime字符串转时间用法、时区对结果的影响以及它背后的 Go 标准库实现原理。方法签名与返回值Day是time.Time类型的方法签名如下见 docs/content/en/methods/time/Day.md 的 front matter 声明签名TIME.Day返回类型int该月中的第几天取值范围 1–31它不接受任何参数调用方式是对任意time.Time值直接以点号调用。基本用法文档给出的最小示例Day.md{{ $t : time.AsTime 2023-01-27T23:44:58-08:00 }} {{ $t.Day }} → 27这里先用time.AsTime把 RFC3339 格式的时间字符串解析成time.Time值再通过$t.Day取出「日」。对2023-01-27T23:44:58-08:00这个时间点结果是27。配套函数 time.AsTimetime.AsTime是 Hugo 在time命名空间下提供的解析函数实现在 tpl/time/time.gofunc (ns *Namespace) AsTime(v any, args ...any) (any, error) { loc : ns.location if len(args) 0 { locStr, err : cast.ToStringE(args[0]) if err ! nil { return nil, err } loc, err time.LoadLocation(locStr) if err ! nil { return nil, err } } return htime.ToTimeInDefaultLocationE(v, loc) }要点第一个参数可以是字符串、time.Time或其他可被cast转换的值可选的第二个参数用于指定 IANA 时区名如America/New_York、Asia/Shanghai不传时使用 Hugo 的默认时区即站点timezone配置底层调用htime.ToTimeInDefaultLocationE该函数见 common/htime/time.go会优先识别实现了AsTimeProvider接口的值例如 go-toml 解析出的LocalDate/LocalDateTime对time.Time则先格式化为 RFC3339 字符串再交给cast.ToTimeInDefaultLocationE统一处理。直接使用已解析的时间值除了字符串凡是模板里已经存在的time.Time值都可以直接调用Day无需先经过time.AsTime。例如配合time.Now{{ $t : time.Now }} {{ $t.Day }} → 当前日期的「日」或直接对页面参数中的日期取值{{ with .Params.date }} {{ .Day }} {{ end }}时区对 Day 结果的影响Day返回的是时间值在其所在时区上下文中的「日」。同一个 UTC 时间点在不同时区下可能落到不同的「日」。例如2023-01-27T23:44:58-08:00等价于2023-01-28T07:44:58Z在 UTC或-08:00以东的时区下Day返回28在-08:00时区本身Day返回27。因此当需要以「日」为单位统计或展示时务必先确定统一的时区基准。可以通过time.AsTime的第二个参数、站点配置的timezone或time.In方法见 tpl/time/time.go来转换时区{{ $t : time.AsTime 2023-01-27T23:44:58-08:00 }} {{ $t.In Asia/Shanghai | .Day }} → 28提示time.In内部使用带缓存的分区dynacache加载 IANA 时区避免重复解析开销见 tpl/time/time.go。边界与注意事项返回值始终是 int可直接参与数值运算或比较无需再转换月份最后一天31是最大值小于 31 的月份最后一天如30、28、29按该月实际天数返回零值时间Go 的零值time.Time0001-01-01调用Day返回1空字符串解析失败会报错模板渲染时需用with或default兜底与time.Format的差异Day返回结构化整数便于运算若只需展示两位数字如01、27可用time.Format 02或printf %02d。与同系列方法的关系Day属于 Hugo 文档中Time methods系列见 docs/content/en/methods/time/_index.md同系列还包括Month、Year、Hour、Minute、Second、Weekday、YearDay等全部来自 Go 标准库time.Time的方法集因此行为与 Go 完全一致。例如Month返回time.Month类型可继续调用.String或通过| int转为整数见 Month.mdYearDay返回当年第几天。组合使用这些方法可以构建完整的日期维度分析{{ $t : time.AsTime 2023-01-27T23:44:58-08:00 }} {{ $t.Year }} → 2023 {{ $t.Month | int }} → 1 {{ $t.Day }} → 27 {{ $t.Weekday.String }} → Friday {{ $t.YearDay }} → 27典型实战场景按「日」归档列表从页面时间中提取日值用于归档分组或排序展示{{ $posts : site.RegularPages }} {{ $byDay : $posts.GroupByDate 2006-01-02 }} {{ range $byDay }} h2{{ .Key }}/h2 {{ range .Pages }} a href{{ .RelPermalink }}{{ .Title }}/a {{ end }} {{ end }}日粒度标签或徽标span classbadge{{ .Date.Day }}/span条件判断例如每月 15 日前的文章加标记{{ if le .Date.Day 15 }} span上半月发布/span {{ end }}小结Day是 Hugo 模板中获取时间「日」的最直接方法配合time.AsTime、time.In以及站点时区配置可以精确控制时区语义。其返回值遵循 Go 标准库time.Time.Day的语义行为稳定可预测适合在日期归档、按日统计与条件渲染等场景中使用。更多相关方法可继续阅读 Time methods 索引 及同目录下的各方法文档。赞分享开发工具前端CLI【免费下载链接】hugoThe world’s fastest framework for building websites.项目地址https://gitcode.com/gh_mirrors/hu/hugo点击查看免费下载相关推荐Hugo 模板中的 time.Add 方法在 time.Time 上精确加减持续时间Hugo 模板中的 time.Add 方法在 time.Time 上精确加减持续时间 导读 Add 是 Hugo 模板中挂在 time.Time 值上的方法开发工具前端CLIHugo 模板函数 time.AsTime 完全指南字符串转 time.Time 与时区处理Hugo 模板函数 time.AsTime 完全指南字符串转 time.Time 与时区处理 导读 time.AsTime 是 Hugo 模板引擎中负责将「字开发工具前端CLIHugo 模板方法 time.IsZero判断零值时间并优雅处理缺失日期Hugo 模板方法 time.IsZero判断零值时间并优雅处理缺失日期 导读 time.IsZero 是 Hugo 模板系统中挂在 time.Time 值上开发工具前端CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/5 12:55:10

LabVIEW高铁应答器出厂测试系统设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 13:07:16

MCP工具返回true的真相:ESP32硬件动作确认与可靠性设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:13:26

D435点云重建实战指南:从深度图到三维模型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:13:26

Windows版CloudStack云平台搭建全指南:从依赖配置到云主机创建

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:13:26

神经网络如何重构压缩感知图像:从理论失效到端到端落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:13:26

Windows下CLion+ESP-IDF环境搭建与配置实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:13:26

立创EDA专业版PCB设计闭环工作流实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:08:26

AF执行器调试实战:从DAC映射到VCM音圈马达的清晰度校准

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑