GroupByLastmod
Syntax
PAGES.GroupByLastmod LAYOUT [SORT]
Returns
page.PagesGroup
按最后修改日期分组时,值由您的 站点配置 决定,默认为前题资料中的 lastmod 字段。
布局字符串 与 time.Format 函数的布局字符串格式相同。生成的组键已针对语言和区域进行 本地化 。
对于可选的排序顺序,请指定 asc 表示升序,或 desc 表示降序。
按年份和月份对内容进行分组:
{{ range .Pages.GroupByLastmod "January 2006" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}
按升序排列分组:
{{ range .Pages.GroupByLastmod "January 2006" "asc" }}
  <p>{{ .Key }}</p>
  <ul>
    {{ range .Pages }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}
每个组内的页面也将按最后修改日期排序,具体是升序还是降序取决于您的分组选项。要对每个组内的页面进行排序,请使用其中一种排序方法。例如,要按标题对每个组内的页面进行排序:
{{ range .Pages.GroupByLastmod "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,以便为 UTC 时区打印 Z 而不是偏移量。
| 描述 | 有效组件 | 
|---|---|
| 时区偏移量 | "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 
诸如 PST 和 CET 之类的字符串不是时区。它们是时区 缩写 。
诸如 -07:00 和 +01:00 之类的字符串不是时区。它们是时区 偏移量 。
时区是指具有相同当地时间的地理区域。例如,由 PST 和 PDT (取决于夏令时)缩写的时区是 America/Los_Angeles 。