HUGO
Menu
GitHub 87548 stars Mastodon

GroupByDate

返回给定页面集合按日期降序分组。

Syntax

PAGES.GroupByDate LAYOUT [SORT]

Returns

page.PagesGroup

按日期分组时,值由您的 站点配置 确定,默认为 front matter 中的 date 字段。

布局字符串 的格式与 time.Format 函数的布局字符串格式相同。生成的组键针对语言和地区进行 本地化

对于可选排序顺序,指定 asc 表示升序,或 desc 表示降序。

要按年和月分组内容:

{{ range .Pages.GroupByDate "January 2006" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}

要按升序对组排序:

{{ range .Pages.GroupByDate "January 2006" "asc" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}

每个组内的页面也将按日期排序,具体是升序还是降序取决于分组选项。要对每个组内的页面排序,请使用排序方法之一。例如,按标题对每个组内的页面排序:

{{ range .Pages.GroupByDate "January 2006" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages.ByTitle }}
      <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
    {{ end }}
  </ul>
{{ end }}

布局字符串

基于 Go 的参考时间 格式化 time.Time 值:

Mon Jan 2 15:04:05 MST 2006

使用这些组件创建布局字符串:

描述 有效组件
"2006" "06"
"Jan" "January" "01" "1"
星期几 "Mon" "Monday"
月份中的日期 "2" "_2" "02"
一年中的第几天 "__2" "002"
小时 "15" "3" "03"
分钟 "4" "04"
"5" "05"
上午/下午标记 "PM"
时区偏移 "-0700" "-07:00" "-07" "-070000" "-07:00:00"

将布局字符串中的符号替换为 Z 以打印 Z 而不是 UTC 时区的偏移。

描述 有效组件
时区偏移 "Z0700" "Z07:00" "Z07" "Z070000" "Z07:00:00"
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $t = $t.Format "Jan 02, 2006 3:04 PM Z07:00" }}

{{ $t }} → Jan 27, 2023 11:44 PM -08:00

诸如 PSTCET 之类的字符串不是时区。它们是时区 缩写

诸如 -07:00+01:00 之类的字符串不是时区。它们是时区 偏移

时区是具有相同本地时间的地理区域。例如,由 PSTPDT(取决于夏令时)缩写的时区是 America/Los_Angeles


Last updated: January 1, 0001
Improve this page