You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hugo站点构建失败:toml.LocalDate类型不存在Format()方法问题问询

问题根因

你在TOML配置中直接填写不带时间、时区的短ISO日期时,新版本Hugo会将其解析为原生toml.LocalDate类型,该类型没有内置Format方法,只有Hugo封装的Time类型才支持日期格式化操作。你看到的旧示例可以正常运行,是因为旧版本Hugo对TOML日期的解析规则更宽松,会默认将短日期转换为Time类型。

解决方案

有两种修复方式可选:

方案1:修改配置文件

将日期补充为完整的带时间的ISO格式,让Hugo直接将其解析为Time类型,原有模板代码不用改动:

baseURL = "..."
languageCode = "en-us"
title = "..."
summaryLength = 20
relativeURLs = true

[params]
    current_startDate = 2021-10-10T00:00:00Z
    current_endDate   = 2021-12-04T00:00:00Z

末尾的Z代表UTC时区,你也可以替换为自己对应的时区偏移,比如东八区写+08:00。

方案2:修改模板代码

不需要改动现有配置,调用Hugo内置的time.AsTime函数将toml.LocalDate转换为支持格式化的Time类型即可:

<div class="row">
    <div class="col-lg-12 dates">
        <span class="long-dates">
            {{ (time.AsTime .Site.Params.current_startDate).Format "January 2, 2006" }} —
            {{ (time.AsTime .Site.Params.current_endDate).Format "January 2, 2006" }}
        </span>
        <span class="short-dates">
            {{ (time.AsTime .Site.Params.current_startDate).Format "01/02/06" }} —
            {{ (time.AsTime .Site.Params.current_endDate).Format "01/02/06" }}
        </span>
    </div>
</div>

内容的提问来源于stack exchange,提问作者Kieran Wood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:48:00