Development build 586e1bd4
Typst文档简体中文版v0.15.1 + dev 586e1bd4

datetime0.5.0起可用Go to source

Represents a date, a time, or a combination of both.

Can be created by either specifying a custom datetime using this type’s constructor function or getting the current date with 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]" )

Datetime and Duration

You can get a duration by subtracting two datetime:

#let first-of-march = datetime(day: 1, month: 3, year: 2024) #let first-of-jan = datetime(day: 1, month: 1, year: 2024) #let distance = first-of-march - first-of-jan #distance.hours()

You can also add/subtract a datetime and a duration to retrieve a new, offset datetime:

#let date = datetime(day: 1, month: 3, year: 2024) #let two-days = duration(days: 2) #let two-days-earlier = date - two-days #let two-days-later = date + two-days #date.display() \ #two-days-earlier.display() \ #two-days-later.display()

Format

You can specify a customized formatting using the display method. The format of a datetime is specified by providing components with a specified number of modifiers. A component represents a certain part of the datetime that you want to display, and with the help of modifiers you can define how you want to display that component. In order to display a component, you wrap the name of the component in square brackets (e.g. [year] will display the year). In order to add modifiers, you add a space after the component name followed by the name of the modifier, a colon and the value of the modifier (e.g. [month repr:short] will display the short representation of the month).

The possible combination of components and their respective modifiers is as follows:

See here for more details on the supported syntax.

Keep in mind that not always all components can be used. For example, if you create a new datetime with datetime(year: 2023, month: 10, day: 13), it will be stored as a plain date internally, meaning that you cannot use components such as hour or minute, which would only work on datetimes that have a specified time.

构造函数
Question mark
0.5.0起可用Go to source

Creates a new datetime.

You can specify the datetime using a year, month, day, hour, minute, and second.

Note: Depending on which components of the datetime you specify, Typst will store it in one of the following three ways:

Depending on how it is stored, the display method will choose a different formatting by default.

Expand展开示例
#datetime( year: 2012, month: 8, day: 3, ).display()

year

The year of the datetime.

month

The month of the datetime.

day

The day of the datetime.

hour

The hour of the datetime.

minute

The minute of the datetime.

second

The second of the datetime.

定义
Question mark

today0.5.0起可用Go to source

Returns the current date.

In the CLI, this can be overridden with the --creation-timestamp argument or by setting the SOURCE_DATE_EPOCH environment variable. In both cases, the value should be given as a UNIX timestamp.

Expand展开示例
Today's date is #datetime.today().display().
datetime.today(offset: autointduration) → datetime

offset默认值:auto

An offset to apply to the current UTC date. If set to auto, the offset will be the local offset.

When an integer offset is given, it will be treated as a duration in hours.

display0.5.0起可用Go to source

Displays the datetime in a specified format.

Depending on whether you have defined just a date, a time or both, the default format will be different. If you specified a date, it will be [year]-[month]-[day]. If you specified a time, it will be [hour]:[minute]:[second]. In the case of a datetime, it will be [year]-[month]-[day] [hour]:[minute]:[second].

See the format syntax for more information.

self.display(autostr) → str

pattern
auto or str
位置参数
Question mark
默认值:auto

The format used to display the datetime.

year0.5.0起可用Go to source

The year if it was specified, or none for times without a date.

self.year() → noneint

month0.5.0起可用Go to source

The month if it was specified, or none for times without a date.

self.month() → noneint

weekday0.5.0起可用Go to source

The weekday (counting Monday as 1) or none for times without a date.

self.weekday() → noneint

day0.5.0起可用Go to source

The day if it was specified, or none for times without a date.

self.day() → noneint

hour0.5.0起可用Go to source

The hour if it was specified, or none for dates without a time.

self.hour() → noneint

minute0.5.0起可用Go to source

The minute if it was specified, or none for dates without a time.

self.minute() → noneint

second0.5.0起可用Go to source

The second if it was specified, or none for dates without a time.

self.second() → noneint

ordinal0.5.0起可用Go to source

The ordinal (day of the year), or none for times without a date.

self.ordinal() → noneint