datetime
日期、时间或两者的组合的表示。可以通过使用 datetime
函数来指定自定义日期时间,
或使用 datetime.today
获取当前日期。
Example
#let date = datetime(
year: 2020,
month: 10,
day: 4,
)
#date.display() \
#date.display(
"y:[year repr:last_two]"
)
#let time = datetime(
hour: 18,
minute: 2,
second: 23,
)
#time.display() \
#time.display(
"h:[hour repr:12][period]"
)
Format
你可以使用 display
方法来指定自定义的日期时间格式化方式。
日期时间的格式化由提供具有指定数量 修饰符 的 组件 来指定。
组件代表你想要显示的日期时间的特定部分,而借助修饰符,你可以定义如何显示该组件。
为了显示一个组件,你需要将组件名称用方括号括起来(例如,[year]
会显示年份)。
要添加修饰符,需要在组件名称之后加上一个空格,然后是修饰符的名称、冒号和修饰符的值(例如,[month repr:short]
会显示月份的短表示)。
以下是组件及其对应修饰符的可能组合方式:
year
:显示日期时间的年份。padding
:可以是zero
,space
或none
。指定年份的填充方式。repr
:可以是full
,此时显示完整年份;或者是last_two
,此时只显示最后两位数字。sign
:可以是automatic
或mandatory
。指定何时显示符号。
month
:显示日期时间的月份。padding
:可以是zero
,space
或none
。指定月份的填充方式。repr
:可以是numerical
,long
或short
。指定月份是否以数字或单词形式显示。 不幸的是,选择单词表示时,目前仅能显示英文版本。未来计划支持本地化。
day
:显示日期时间的日期。padding
:可以是zero
,space
或none
。指定日期的填充方式。
week_number
:显示日期时间的周数。padding
:可以是zero
,space
或none
。指定周数的填充方式。repr
:可以是ISO
,sunday
或monday
。对于ISO
,周数范围为 1 至 53; 而对于其他表示方式,周数范围为 0 至 53。
weekday
:显示日期时间的星期。repr
:可以是long
,short
,sunday
或monday
。 对于long
和short
,会显示相应的英文名称(与月份类似,目前不支持其他语言)。 对于sunday
和monday
,将显示数字值(分别假设星期日和星期一为一周的第一天)。one_indexed
:可以是true
或false
。定义周的数值表示从 0 还是 1 开始。
hour
:显示日期时间的小时。padding
:可以是zero
,space
或none
。指定小时的填充方式。repr
:可以是24
或12
。决定小时以 24 小时制还是 12 小时制显示。
period
:小时的上午/下午部分case
:可以是lower
或upper
。定义时间段的大小写显示。
minute
:显示日期时间的分钟。padding
:可以是zero
,space
或none
。指定分钟的填充方式。
second
:显示日期时间的秒数。padding
:可以是zero
,space
或none
。指定秒数的填充方式。
请注意,并非始终可以使用所有组件。
例如,如果你创建一个新的日期时间,如 datetime(year: 2023, month: 10, day: 13)
,
它将被内部存储为纯日期,这意味着你不能使用诸如 hour
或 minute
等仅适用于特定时间的日期时间的组件。
方法
方法是可用于该类型的一系列函数,可以使用 .
操作符调用它们。
.
操作符调用它们。display
method
以特定方式显示日期时间。
根据你是否仅定义了日期、时间或两者,日期时间的默认格式将会有所不同。
如果你只指定了日期,格式为 [year]-[month]-[day]
。
如果你只指定了时间,格式为 [hour]:[minute]:[second]
。
如果你同时指定了日期和时间,格式为 [year]-[month]-[day] [hour]:[minute]:[second]
。
pattern
用于显示日期时间的格式。
year
method
如果日期时间中的 year
存在,返回它。否则,返回 none
。
month
method
如果日期时间中的 month
存在,返回它。否则,返回 none
。
weekday
method
如果日期时间的 weekday
存在,返回它按照从星期一开始并用数字表示。否则,返回 none
。
day
method
如果日期时间中的 day
存在,返回它。否则,返回 none
。
hour
method
如果日期时间中的 hour
存在,返回它。否则,返回 none
。
minute
method
如果日期时间中的 minute
存在,返回它,否则,返回 none
。
second
method
如果日期时间中的 second
存在,返回它,否则,返回 none
。