Quarto 日期与日期格式化

日期解析

当你在 Quarto 文档中写入一个日期时,Quarto 会尝试通过尝试多种标准格式来解析日期字符串,最终可能会尝试推断日期格式。Quarto 会按照以下顺序尝试解析以下格式的日期:

  • MM/dd/yyyy
  • MM-dd-yyyy
  • MM/dd/yy
  • MM-dd/yy
  • yyyy-MM-dd
  • dd MM yyyy
  • MM dd, yyyy
  • YYYY-MM-DDTHH:mm:ssZ

此外,你还可以提供日期关键词,这些关键词将提供一个动态日期。

关键词 日期
today 当前本地日期,时间部分设置为0。
now 当前本地日期和时间。
last-modified 包含日期的输入文件的最后修改日期和时间。

日期格式化

在 Quarto 中指定日期格式时,有两种方式可以表示你想要的格式。

使用日期样式

你可以指定一个简单的日期样式,用于格式化日期。

例如:

---
date: 03/07/2005
date-format: long
---

有效的样式及其格式化输出的示例如下:

样式 描述 示例
full 包含星期名称的全日期 2005年3月7日星期一
long 包含完整月份名称的长日期 2005年3月7日
medium 中等长度的日期 2005年3月7日
short 包含数字月份的短日期 3/7/05
iso ISO格式的短日期 2005-03-07

使用日期格式

你还可以指定一个日期格式字符串,用于格式化日期。例如:

---
date: 03/07/2005
date-format: "MMM D, YYYY"

该字符串中允许的值包括:

格式字符串 输出 描述
YY 18 两位数年份
YYYY 2018 四位数年份
M 1-12 月份,从1开始
MM 01-12 两位数的月份
MMM Jan-Dec 缩写的月份名称
MMMM January-December 完整的月份名称
D 1-31 月份中的天数
DD 01-31 两位数的月份中的天数
d 0-6 星期几,周日为0
dd Su-Sa 星期几的缩写名称
ddd Sun-Sat 星期几的短名称
dddd Sunday-Saturday 星期几的名称
H 0-23 小时
HH 00-23 两位数的小时
h 1-12 12小时制的小时
hh 01-12 两位数的12小时制的小时
m 0-59 分钟
mm 00-59 分钟,两位数
s 0-59
ss 00-59 秒,两位数
SSS 000-999 毫秒,三位数
Z +05:00 与UTC的偏移量,±HH:mm
ZZ +0500 与UTC的偏移量,±HHmm
A AM PM
a am pm
Q 1-4 季度
Do 1st 2nd … 31st 带序数的月份天数
k 1-24 小时,从1开始
kk 01-24 小时,两位数,从1开始
X 1360013296 Unix时间戳,单位为秒
x 1360013296123 Unix时间戳,单位为毫秒
w 1 2 … 52 53 年中的周数(依赖 WeekOfYear 插件)
ww 01 02 … 52 53 年中的周数,两位数(依赖 WeekOfYear 插件)
W 1 2 … 52 53 ISO年中的周数(依赖 IsoWeek 插件)
WW 01 02 … 52 53 ISO年中的周数,两位数(依赖 IsoWeek 插件)
wo 1st 2nd … 52nd 53rd 带序数的年中的周数(依赖 WeekOfYear 插件)
gggg 2017 周数年(依赖 WeekYear 插件)
GGGG 2017 ISO周数年(依赖 IsoWeek 插件)
z EST 缩写的名称偏移量(依赖 Timezone 插件)
zzz Eastern Standard Time 未缩写的名称偏移量(依赖 Timezone 插件)

要转义字符,请将它们用方括号括起来(例如 [MM])。

示例格式和输出包括:

格式 输出
MMM D, YYYY Mar 7, 2005
DD/MM/YYYY 07/03/2005
[YYYYescape] YYYY-MM-DDTHH:mm:ssZ[Z] YYYYescape 2005-03-07T00:00:00-05:00Z
YYYY-MM-DDTHH:mm:ssZ 2005-03-07T00:00:00-05:00
dddd MMM D, YYYY Monday Mar 7, 2005