Skip to content

DateTime#

DateTime.day#

描述: 月中的日期(1-31)

语法: DateTime.day

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.day //=> 30

DateTime.diffTo()#

描述: 返回两个日期时间之间的差值,按指定的单位

语法: DateTime.diffTo(otherDateTime, unit)

返回值: 数字

来源: 自定义 n8n 功能

参数:

  • otherDateTime(字符串|日期时间)- 用于减去基础日期时间的时刻。可以是 ISO 日期字符串或 Luxon DateTime。
  • unit(字符串|数组)- 可选 - 返回结果的单位,或单位数组。可能的值:years(年)、months(月)、weeks(周)、days(天)、hours(小时)、minutes(分钟)、seconds(秒)、milliseconds(毫秒)。

示例:

1
2
// dt1 = "2024-03-30T18:49:07.234".toDateTime()
dt1.diffTo('2025-01-01', 'days') //=> 276.21
1
2
3
// dt1 = "2024-03-30T18:49:07.234".toDateTime()
// dt2 = "2025-01-01T00:00:00.000".toDateTime()
dt1.diffTo(dt2, ['months', 'days']) //=> {'months':, 'days':}
1
Note: should support both day and days, etc.

DateTime.diffToNow()#

描述: 返回当前时刻与指定 DateTime 之间的差值,单位为指定的单位。要获取文本表示,请使用 toRelative()

语法: DateTime.diffToNow(unit)

返回值: 数字

来源: 自定义 n8n 功能

参数:

  • unit(字符串|数组)- 可选 - 返回结果的单位,或单位数组。可能的值:years(年)、months(月)、weeks(周)、days(天)、hours(小时)、minutes(分钟)、seconds(秒)、milliseconds(毫秒)。

示例:

1
2
// dt = "2023-03-30T18:49:07.234".toDateTime()
dt.diffToNow('days') //=> 371.9
1
2
// dt = "2023-03-30T18:49:07.234".toDateTime()
dt.diffToNow(['months', 'days']) //=> {"months":12, "days":5.9}
1
Note: should support both day and days, etc.

DateTime.endOf()#

描述: 将日期时间向上舍入到其某个单位的结尾,例如月末

语法: DateTime.endOf(unit, opts)

返回值: 日期时间

类型: Luxon

参数:

  • unit(字符串)- 要舍入到的单位。可以是 year(年)、quarter(季度)、month(月)、week(周)、day(日)、hour(小时)、minute(分钟)、second(秒)或 millisecond(毫秒)。
  • opts(对象)- 可选 - 带有影响输出的选项的对象。可能的属性: useLocaleWeeks(布尔值):在计算周的起始时是否使用本地设置。默认为 false。

示例:

1
2
// dt = "2024-03-20T18:49".toDateTime()
dt.endOf('month') //=> 2024-03-31T23:59

DateTime.equals()#

描述: 如果两个 DateTime 表示完全相同的时刻且位于相同的时区,则返回 true。要进行不那么严格的比较,请使用 hasSame()

语法: DateTime.equals(other)

返回值: 布尔类型

类型: Luxon

参数:

  • other(DateTime)- 要比较的另一个日期时间

示例:

1
2
3
// dt1 = "2024-03-20T18:49+01:00".toDateTime()
// dt2 = "2024-03-20T19:49+02:00".toDateTime()
dt1.equals(dt2) //=> false

DateTime.extract()#

描述: 提取日期或时间的一部分,例如月份,以数字形式表示。要提取文本名称,请参见 format()

语法: DateTime.extract(单位?)

返回值: 数字

来源: 自定义 n8n 功能

参数:

  • unit(字符串)- 可选 - 要返回的日期或时间的部分。选项之一:yearmonthweekdayhourminutesecond

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.extract('month') //=> 3
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.extract('hour') //=> 18

DateTime.format()#

描述: 将 DateTime 转换为字符串,使用指定的格式。 格式指南。对于常见格式,toLocaleString() 可能更简单。

语法: DateTime.format(fmt)

返回值: 字符串

来源: 自定义 n8n 功能

参数:

  • fmt(字符串)- 要返回的字符串的 格式

示例:

1
2
// dt = "2024-04-30T18:49".toDateTime()
dt.format('dd/LL/yyyy') //=> '30/04/2024'
1
2
3
4
// dt = "2024-04-30T18:49".toDateTime()
dt.format('dd LLL yy') //=> '30 Apr 24'
dt.setLocale('fr').format('dd LLL yyyy') //=> '30 avr. 2024'
dt.format("HH 'hours and' mm 'minutes'") //=> '18 hours and 49 minutes'

DateTime.hasSame()#

描述: 如果两个 DateTime 在指定单位上相同,则返回 true。时区会被忽略(仅比较本地时间),因此如有必要,请先使用 toUTC()

语法: DateTime.hasSame(otherDateTime, unit)

返回值: 布尔类型

类型: Luxon

参数:

  • otherDateTime(DateTime)- 要比较的另一个日期时间
  • unit(字符串)- 用于检查相同的时间单位。可以是 year(年)、quarter(季度)、month(月)、week(周)、day(天)、hour(小时)、minute(分钟)、second(秒)或 millisecond(毫秒)。

示例:

1
2
3
// dt1 = "2024-03-20".toDateTime()
// dt2 = "2024-03-18".toDateTime()
dt1.hasSame(dt2, 'month') //=> true
1
2
3
// dt1 = "1982-03-20".toDateTime()
// dt2 = "2024-03-18".toDateTime()
dt1.hasSame(dt2, 'month') //=> false

DateTime.hour#

描述: 一天中的小时(0-23)

语法: DateTime.hour

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.hour //=> 18

DateTime.isBetween()#

描述: 如果 DateTime 位于指定的两个时刻之间,则返回 true

语法: DateTime.isBetween(date1, date2)

返回值: 布尔类型

来源: 自定义 n8n 功能

参数:

  • date1(字符串|日期时间)- 基准日期时间必须之后的时刻。可以是 ISO 日期字符串或 Luxon DateTime。
  • date2(字符串|日期时间)- 基准 DateTime 必须早于的时刻。可以是 ISO 日期字符串或 Luxon DateTime。

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.isBetween('2020-06-01', '2025-06-01') //=> true
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.isBetween('2020', $now) //=> true

DateTime.isInDST#

描述: DateTime 是否处于夏令时

语法: DateTime.isInDST

返回值: 布尔类型

类型: Luxon

DateTime.locale#

描述: DateTime 的区域设置,例如 'en-GB'。在格式化 DateTime 时会使用该区域设置。

语法: DateTime.locale

返回值: 字符串

类型: Luxon

示例:

1
$now.locale //=> 'en-US'

DateTime.millisecond#

描述: 秒的毫秒(0-999)

语法: DateTime.毫秒

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49:07.234".toDateTime()
dt.millisecond //=> 234

DateTime.minus()#

描述: 从日期时间中减去指定的时间段

语法: DateTime.minus(n, unit?)

返回值: 日期时间

来源: 自定义 n8n 功能

参数:

  • n(数字|对象)- 要减去的单位数量。或者使用一个 Luxon Duration 对象一次减去多个单位。
  • unit(字符串)- 可选 - 数字的单位。以下之一:小时分钟毫秒

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.minus(7, 'days') //=> 2024-04-23T18:49
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.minus(4, 'years') //=> 2020-04-30T18:49

DateTime.minute#

描述: 小时的分钟数(0-59)

语法: DateTime.minute

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.minute //=> 49

DateTime.month#

描述: 月份 (1-12)

语法: DateTime.month

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.month //=> 3

DateTime.monthLong#

描述: 文本形式的完整月份名称,例如 'October'。如果未指定语言环境,则默认为系统的语言环境。

语法: DateTime.monthLong

返回值: 字符串

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.monthLong //=> 'March'
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.setLocale('de-DE').monthLong //=> 'März'

DateTime.monthShort#

描述: 文本缩写月份名称,例如 'Oct'。如果未指定语言环境,则默认为系统的语言环境。

语法: DateTime.monthShort

返回值: 字符串

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.monthShort //=> 'Mar'
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.setLocale('de-DE').monthShort //=> 'Mär'

DateTime.plus()#

描述: 将给定的时间段添加到日期时间中

语法: DateTime.plus(n, unit?)

返回值: 日期时间

来源: 自定义 n8n 功能

参数:

  • n(数字|对象)- The number of units to add. Or use a Luxon Duration object to add multiple units at once.
  • unit(字符串)- 可选 - 数字的单位。以下之一:小时分钟毫秒

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.plus(7, 'days') //=> 2024-05-07T18:49
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.plus(4, 'years') //=> 2028-04-30T18:49

DateTime.quarter#

描述: 一年的季度(1-4)

语法: DateTime.quarter

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.quarter //=> 1

DateTime.second#

描述: 分钟的第二秒(0-59)

语法: DateTime.second

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49:07.234".toDateTime()
dt.second //=> 7

DateTime.set()#

描述: 为指定的 DateTime 单位分配新值。要对 DateTime 进行四舍五入,请参见 startOf()endOf()

语法: DateTime.set(values)

返回值: 日期时间

类型: Luxon

参数:

  • values(对象)- 一个包含要设置的单位和要分配的相应值的对象。可能的键是yearmonthdayhourminutesecondmillsecond

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.set({year:1982, month:10}) //=> 1982-10-20T18:49

DateTime.setLocale()#

描述: 设置区域设置,这决定了日期时间的语言和格式。对于生成日期时间的文本表示非常有用,例如使用 format()toLocaleString()

语法: DateTime.setLocale(locale)

返回值: 日期时间

类型: Luxon

参数:

  • locale(字符串)- 要分配的区域设置,例如‘en-GB’表示英式英语,或‘pt-BR’表示巴西葡萄牙语。 列表 (非官方)

示例:

1
$now.setLocale('de-DE').toLocaleString({'dateStyle':'long'}) //=> 5. Oktober 2024
1
$now.setLocale('fr-FR').toLocaleString({'dateStyle':'long'}) //=> 5 octobre 2024

DateTime.setZone()#

描述: 将 DateTime 转换为指定的时区。DateTime 仍然表示同一时刻,除非在选项中另有指定。另请参见 toLocal()toUTC()

语法: DateTime.setZone(zone, opts)

返回值: 日期时间

类型: Luxon

参数:

  • zone(字符串)- 可选 - 一个区域标识符,可以是格式为 ‘America/New_York’、'UTC+3',或字符串 'local' 或 'utc'
  • opts(对象)- 可选 - 影响输出的选项。可能的属性: keepCalendarTime(布尔值):是否保持时间不变,仅更改偏移量。默认为 false。

示例:

1
2
// dt = "2024-01-01T00:00:00.000+02:00".toDateTime()
dt.setZone('America/Buenos_aires') //=> 2023-12-31T19:00:00.000-03:00
1
2
// dt = "2024-01-01T00:00:00.000+02:00".toDateTime()
dt.setZone('UTC+7') //=> 2024-01-01T05:00:00.000+07:00

DateTime.startOf()#

描述: 将日期时间向下取整到其某个单位的开始,例如月初

语法: DateTime.startOf(unit, opts)

返回值: 日期时间

类型: Luxon

参数:

  • unit(字符串)- 要舍入到的单位之一。可选值为 year(年)、quarter(季度)、month(月)、week(周)、day(日)、hour(小时)、minute(分钟)、second(秒)或 millisecond(毫秒)。
  • opts(对象)- 可选 - 带有影响输出的选项的对象。可能的属性: useLocaleWeeks(布尔值):在计算周的起始时是否使用本地设置。默认为 false。

示例:

1
2
// dt = "2024-03-20T18:49".toDateTime()
dt.startOf('month') //=> 2024-03-01T00:00

DateTime.toISO()#

描述: 返回符合 ISO 8601 的 DateTime 字符串表示形式

语法: DateTime.toISO(opts)

返回值: 字符串

类型: Luxon

参数:

  • opts(对象)- 可选 - 配置选项。更多信息请参见 Luxon 文档

示例:

1
$now.toISO() //=> 2024-04-05T18:44:55.525+02:00

DateTime.toLocal()#

描述: 将 DateTime 转换为工作流的本地时区。除非在参数中另有指定,DateTime 仍然表示相同的时刻。工作流的时区可以在工作流设置中进行设置。

语法: DateTime.toLocal()

返回值: 日期时间

类型: Luxon

示例:

1
2
// dt = "2024-01-01T00:00:00.000Z".toDateTime()
dt.toLocal() //=> 2024-01-01T01:00:00.000+01:00, if time zone is Europe/Berlin

DateTime.toLocaleString()#

描述: 返回表示 DateTime 的本地化字符串,即对应其区域设置的语言和格式。如果未指定,则默认为系统的区域设置。

语法: DateTime.toLocaleString(formatOpts)

返回值: 字符串

类型: Luxon

参数:

  • formatOpts(对象)- 可选 - 渲染的配置选项。完整列表请参见 Intl.DateTimeFormat 。默认渲染为短日期。

示例:

1
2
3
$now.toLocaleString() //=> '4/30/2024'
$now.toLocaleString({'dateStyle':'medium', 'timeStyle':'short'}) //=> 'Apr 30, 2024, 10:00 PM'
// (if in US English locale)
1
$now.setLocale('de-DE').toLocaleString() //=> '30.4.2024'
1
2
3
4
5
$now.toLocaleString({'dateStyle':'short'}) //=> '4/30/2024'
$now.toLocaleString({'dateStyle':'medium'}) //=> 'Apr 30, 2024'
$now.toLocaleString({'dateStyle':'long'}) //=> 'April 30, 2024'
$now.toLocaleString({'dateStyle':'full'}) //=> 'Tuesday, April 30, 2024'
// (if in US English locale)
1
2
3
4
5
$now.toLocaleString({'year':'numeric', 'month':'numeric', 'day':'numeric'}) //=> '4/30/2024'
$now.toLocaleString({'year':'2-digit', 'month':'2-digit', 'day':'2-digit'}) //=> '04/30/24'
$now.toLocaleString({'month':'short', 'weekday':'short', 'day':'numeric'}) //=> 'Tue, Apr 30'
$now.toLocaleString({'month':'long', 'weekday':'long', 'day':'numeric'}) //=> 'Tuesday, April 30'
// (if in US English locale)
1
2
3
4
5
$now.toLocaleString({'timeStyle':'short'}) //=> '10:00 PM'
$now.toLocaleString({'timeStyle':'medium'}) //=> '10:00:58 PM'
$now.toLocaleString({'timeStyle':'long'}) //=> '10:00:58 PM GMT+2'
$now.toLocaleString({'timeStyle':'full'}) //=> '10:00:58 PM Central European Summer Time'
// (if in US English locale)
1
2
3
$now.toLocaleString({'hour':'numeric', 'minute':'numeric', hourCycle:'h24'}) //=> '22:00'
$now.toLocaleString({'hour':'2-digit', 'minute':'2-digit', hourCycle:'h12'}) //=> '10:00 PM'
// (if in US English locale)

DateTime.toMillis()#

描述: 返回以毫秒为单位的 Unix 时间戳(自 1970 年 1 月 1 日以来经过的时间)

语法: DateTime.toMillis()

返回值: 数字

类型: Luxon

示例:

1
$now.toMillis() //=> 1712334324677

DateTime.toRelative()#

描述: 返回相对于当前时间的文本表示,例如“在两天后”。默认向下取整。

语法: DateTime.toRelative(options)

返回值: 字符串

类型: Luxon

参数:

  • options(对象) - 可选 - 影响输出的选项。可能的属性: unit = 默认使用的单位(yearsmonthsdays 等)。 locale = 使用的语言和格式(例如 defr

示例:

1
$now.plus(1, 'day').toRelative() //=> "in 1 day"
1
$now.plus(1, 'day').toRelative({unit:'hours'}) //=> "in 24 hours"
1
$now.plus(1, 'day').toRelative({locale:'es'}) //=> "dentro de 1 día"

DateTime.toSeconds()#

描述: 返回以秒为单位的 Unix 时间戳(自 1970 年 1 月 1 日以来经过的秒数)

语法: DateTime.toSeconds()

返回值: 数字

类型: Luxon

示例:

1
$now.toSeconds() //=> 1712334442.372

DateTime.toString()#

描述: 返回 DateTime 的字符串表示形式。类似于 toISO()。有关更多格式选项,请参阅 format()toLocaleString()

语法: DateTime.toString()

返回值: 字符串

类型: Luxon

示例:

1
$now.toString() //=> 2024-04-05T18:44:55.525+02:00

DateTime.toUTC()#

描述: 将 DateTime 转换为 UTC 时区。除非在参数中另有指定,DateTime 仍表示相同的时刻。使用 setZone() 转换到其他时区。

语法: DateTime.toUTC(offset, opts)

返回值: 日期时间

类型: Luxon

参数:

  • offset(数字)- 可选 - 与协调世界时的偏移(以分钟为单位)
  • opts(对象)- 可选 - 带有影响输出的选项的对象。可能的属性: keepCalendarTime(布尔值):是否保持时间不变,仅更改偏移量。默认值为 false。

示例:

1
2
// dt = "2024-01-01T00:00:00.000+02:00".toDateTime()
dt.toUTC() //=> 2023-12-31T22:00:00.000Z

DateTime.weekday#

描述: 星期几。1 是星期一,7 是星期日。

语法: DateTime.weekday

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.weekday //=> 6

DateTime.weekdayLong#

描述: 文本形式的完整星期名称,例如 '星期三'。如果未指定区域设置,则默认为系统的区域设置。

语法: DateTime.weekdayLong

返回值: 字符串

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.weekdayLong //=> 'Saturday'
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.setLocale('de-DE').weekdayLong //=> 'Samstag'

DateTime.weekdayShort#

描述: 文本缩写的星期名称,例如 '周三'。如果未指定区域设置,则默认为系统的区域设置。

语法: DateTime.weekdayShort

返回值: 字符串

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.weekdayShort //=> 'Sat'
1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.setLocale('fr-FR').weekdayShort //=> 'sam.'

DateTime.weekNumber#

描述: 一年的周数(大约1-52)

语法: DateTime.weekNumber

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.weekNumber //=> 13

DateTime.year#

描述:这一年

语法: DateTime.year

返回值: 数字

类型: Luxon

示例:

1
2
// dt = "2024-03-30T18:49".toDateTime()
dt.year //=> 2024

DateTime.zone#

描述: 与日期时间相关的时区

语法: DateTime.zone

返回值:对象

类型: Luxon

示例:

1
$now.zone //=> {"zoneName": "Europe/Berlin", "valid": true}