如何在Hugo博客文章中正确显示日期时间?

5
我使用hugo创建了一个帖子new posts/mypost.md,它为我创建了mypost.md,并生成了如下的Toml头配置:

toml config

但是,当我在本地服务器上运行时,日期时间显示错误,如下所示: enter image description here 我该如何解决这个问题?谢谢!
5个回答

7
这是我让它正常工作的方法:
config.toml 中添加您的日期格式。
[params]
    dateFormat = "02 Jan 2006"

您的帖子应在其前置元数据中包含日期:

---
date: "2020-12-23T15:21:54+05:30"
...
---

在你的布局中使用这种格式:

<div>{{ .Params.date.Format .Site.Params.dateFormat }}</div>

注意:请勿更改日期格式中的数字。格式必须为02表示日,Jan表示月份,2006表示年份等。可查看此链接了解更多详情。


4

请查看 Hugo 0.87(2021年8月,两年后发布)的更新内容,其中包括:

请注意,自Hugo 0.87.0版本起,time.Format会返回当前语言的本地化字符串。
  • Date/time formatting layouts

    {{ .Date | time.Format ":date_long" }}
    

所有自定义布局的完整列表及其英文示例:

:date_full => Wednesday, June 6, 2018

:date_long => June 6, 2018

:date_medium => Jun 6, 2018

:date_short => 6/6/18

:time_full => 2:09:37 am UTC

:time_long => 2:09:37 am UTC

:time_medium => 2:09:37 am

:time_short => 2:09 am

3
在 Hugo v0.95.0(发布于2022年3月16日),应该是这样的。
[params]
    date_format = "02 Jan 2006"

使用

---
date: 2022-03-18T21:10:00+07:00
---

在文章的前置元数据中,不需要使用双引号。我使用了Ananke主题

对我来说,date_format = "02.01.2006" 是为了使用欧洲日期格式。 - undefined

2

在配置文件中设置date_format这个参数对我来说很奇怪。我会在配置文件中设置以下内容:

defaultContentLanguage: nl
languageCode: nl_NL

这些变量不会被放进params,而是在配置文件的根级别。当你有了这些变量,你可以简单地调用:

{{ .Date | time.Format ":date_long" }} 

或者...如果您需要其他格式:
{{ .Date | time.Format ":date_medium" }}

日期将以您的语言格式化。

1

您需要在配置文件config.toml中设置日期格式为2.1.2006(任何正确的格式,确保是2006年1月2日)。
这个链接救了我的一天


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接