Skip to content

date

格式化日期。

语法

knap
{{ value | date }}
{{ value | date:"YYYY-MM-DD" }}
{{ value | date:("YYYY-MM-DD", "MM/DD/YYYY") }}

用法

  • 第一个参数是输出格式。默认为 YYYY-MM-DD
  • 可选的第二个参数描述用于严格解析的数据格式。数据必须与它完全匹配,包括分隔符和补零。
  • 格式字符串使用 Day.js 格式符。无效的日期会原样返回。

示例

格式化日期

Data
json
{
  "published": "2024-12-01"
}
Template
knap
{{ published | date:"MMMM D, YYYY" }}
Output
md
December 1, 2024

指定数据格式

Data
json
{
  "published": "12/01/2024"
}
Template
knap
{{ published | date:("YYYY-MM-DD", "MM/DD/YYYY") }}
Output
md
2024-12-01

ISO 周与字面文本

Data
json
{
  "published": "2024-12-01"
}
Template
knap
{{ published | date:"[Week] WW, GGGG" }}
Output
md
Week 48, 2024

日期格式

在输出格式中组合这些区分大小写的格式符。把字面文本包在方括号里,例如 [Year] YYYY。下表中的月份名和星期名使用英文。参见 Day.js 日期格式

格式符含义输出
YY年,末两位24
YYYY年,四位2024
M月份数字1–12
MM月份数字,补零01–12
MMM月份缩写Jan–Dec
MMMM月份名称January–December
D月内日1–31
DD月内日,补零01–31
d星期数字(周日为 0)0–6
dd星期,两个字母Su–Sa
ddd星期缩写Sun–Sat
dddd星期名称Sunday–Saturday
H小时,24 小时制0–23
HH小时,24 小时制,补零00–23
h小时,12 小时制1–12
hh小时,12 小时制,补零01–12
m分钟0–59
mm分钟,补零00–59
s0–59
ss秒,补零00–59
SSS毫秒,补零000–999
Z带冒号的 UTC 偏移+05:00
ZZ不带冒号的 UTC 偏移+0500
A上午/下午,大写AM / PM
a上午/下午,小写am / pm

进阶日期格式

Knap 还包含这些额外的 Day.js 输出格式符。诸如 LLL 这样的本地化预设、区域周-年格式符 gggg 以及具名时区(zzzz)需要 Knap 未启用的插件。参见 Day.js 进阶格式

格式符含义输出
Q季度数字1–4
Do月内序数日1st–31st
k小时,午夜记为 241–24
kk小时,午夜记为 24,补零01–24
XUnix 时间戳(秒)1733011200
xUnix 时间戳(毫秒)1733011200000
w周数,按区域规则1–53
ww周数,按区域规则,补零01–53
wo序数周数,按区域规则1st–53rd
WISO 周数1–53
WWISO 周数,补零01–53
GGGGISO 周编号年份2024