时间函数 - 即时类型
时间函数允许创建和操作每种时间类型 — `DATE`、`ZONED TIME`、`LOCAL TIME`、`ZONED DATETIME` 和 `LOCAL DATETIME` 的值。
本页面包含以下函数
DATE |
ZONED DATETIME |
LOCAL DATETIME |
LOCAL TIME |
ZONED TIME |
---|---|---|---|---|
另请参阅 时间(日期/时间)值 和 时间运算符。 |
时间即时类型
时间即时类型创建概述
每个函数都与其对应的类型同名,并以以下四种方式之一构建该类型
-
捕获当前时间。
-
组合类型的组件。
-
解析时间值的
STRING
表示形式。 -
通过以下方式从另一个时间值中选择和组合组件
-
要么组合时间值(例如将
DATE
与ZONED TIME
组合以创建ZONED DATETIME
),或者 -
从时间值中选择部分(例如从
ZONED DATETIME
中选择DATE
);*提取器* — 可以选择的组件组 — 是-
date
— 包含DATE
的所有组件(概念上为*年*、*月*和*日*)。 -
time
— 包含ZONED TIME
的所有组件(*小时*、*分钟*、*秒*以及毫秒、微秒和纳秒等子秒)。如果正在创建的类型和从中选择时间组件的类型都包含timezone
(且未明确指定timezone
),则也会选择该timezone
。 -
datetime
— 选择所有组件,对于覆盖特定组件很有用。与time
类似,如果正在创建的类型和从中选择时间组件的类型都包含timezone
(且未明确指定timezone
),则也会选择该timezone
。
-
-
实际上,这允许在不同时间类型之间进行*转换*,并允许指定“缺失”的组件。
-
函数 | DATE |
ZONED TIME |
LOCAL TIME |
ZONED DATETIME |
LOCAL DATETIME |
---|---|---|---|---|---|
获取当前值。 |
|||||
创建基于日历(年月日)的值。 |
|||||
创建基于周(年周日)的值。 |
|||||
创建基于季度(年季度日)的值。 |
|||||
创建序数(年日)值。 |
|||||
从时间组件创建值。 |
|||||
使用提取器从其他时间值创建值(即在不同类型之间转换)。 |
|||||
从 |
|||||
从时间戳创建值。 |
所有时间即时类型 — 包括那些不包含时区信息支持的类型,如 |
控制使用哪个时钟
基于当前即时值创建时间即时值的函数默认使用 statement
时钟。但是,有三种不同的时钟可用于更精细的控制
-
transaction
:在同一事务中,每次调用都会生成相同的即时值。不同事务可能会生成不同的时间。 -
statement
:在同一语句中,每次调用都会生成相同的即时值。在同一事务中,不同语句可能会生成不同的时间。 -
realtime
:生成的即时值将是系统的实时时钟。
下表列出了创建当前时间即时值时用于指定时钟的不同子函数
类型 | 默认 | 事务 | 语句 | 实时 |
---|---|---|---|---|
Date |
||||
Time |
||||
LocalTime |
||||
DateTime |
||||
LocalDateTime |
截断时间值
可以通过在指定组件边界(即*截断单位*)处,将另一个时间即时值截断到最近的先前时间点来创建时间即时值。以这种方式创建的时间即时值,所有小于指定截断单位的组件都将设置为其默认值。
可以通过提供一个包含小于截断单位的组件的映射来补充截断值。这将覆盖这些较小组件原本会设置的默认值。
下表列出了支持的截断单位及对应的子函数
截断单位 | DATE |
ZONED TIME |
LOCAL TIME |
ZONED DATETIME |
LOCAL DATETIME |
---|---|---|---|---|---|
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
date()
语法 |
|
||
描述 |
创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
可以是时间值的字符串表示形式,包含单个键 'timezone' 的映射,或者包含时间值('date'、'year'、'month'、'day'、'week'、'dayOfWeek'、'quarter'、'dayOfQuarter'、'ordinalDay')作为组件的映射。 |
|
返回 |
|
名称 | 描述 |
---|---|
|
一个 |
|
由至少四位数字组成的表达式,指定年份。 |
|
指定月份的整数,介于 |
|
指定月份中日期的整数,介于 |
|
指定周数的整数,介于 |
|
指定星期几的整数,介于 |
|
指定季度的整数,介于 |
|
指定季度中日期的整数,介于 |
|
指定一年中序数日的整数,介于 |
如果未提供参数,则必须调用 |
如果未指定时区,将使用本地时区。 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
时间值的字符串表示形式必须符合为 日期 定义的格式。 |
时间值的字符串表示形式必须表示有效日期;即表示 |
|
如果提供了任何可选参数,它们将覆盖 |
|
RETURN date() AS currentDate
返回当前日期。
currentDate |
---|
|
行数: 1 |
RETURN date({timezone: 'America/Los Angeles'}) AS currentDateInLA
返回加利福尼亚州的当前日期。
currentDateInLA |
---|
|
行数: 1 |
创建 DATE
值
DATE
UNWIND [
date({year: 1984, month: 10, day: 11}),
date({year: 1984, month: 10}),
date({year: 1984})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
行数: 3 |
DATE
UNWIND [
date({year: 1984, week: 10, dayOfWeek: 3}),
date({year: 1984, week: 10}),
date({year: 1984})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
行数: 3 |
DATE
UNWIND [
date({year: 1984, quarter: 3, dayOfQuarter: 45}),
date({year: 1984, quarter: 3}),
date({year: 1984})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
行数: 3 |
DATE
UNWIND [
date({year: 1984, ordinalDay: 202}),
date({year: 1984})
] AS theDate
RETURN theDate
返回 1984年2月11日
对应的日期。
theDate |
---|
|
|
行数: 2 |
DATE
UNWIND [
date({year: 1984, month: 11, day: 11}),
localdatetime({year: 1984, month: 11, day: 11, hour: 12, minute: 31, second: 14}),
datetime({year: 1984, month: 11, day: 11, hour: 12, timezone: '+01:00'})
] AS dd
RETURN date({date: dd}) AS dateOnly, date({date: dd, day: 28}) AS dateDay
dateOnly | +dateDay |
---|---|
|
|
|
|
|
|
行数: 3 |
STRING
创建 DATE
UNWIND [
date('2015-07-21'),
date('2015-07'),
date('201507'),
date('2015-W30-2'),
date('2015202'),
date('2015')
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
|
|
行数: 6 |
date.realtime()
语法 |
|
||
描述 |
使用实时时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
返回的 DATE
将是系统的实时时钟。
RETURN date.realtime() AS currentDate
currentDate |
---|
|
行数: 1 |
RETURN date.realtime('America/Los Angeles') AS currentDateInLA
currentDateInLA |
---|
|
行数: 1 |
date.statement()
语法 |
|
||
描述 |
使用语句时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一语句中,每次调用都会返回相同的 DATE
值。但在同一事务中,不同语句可能会产生不同的值。
RETURN date.statement() AS currentDate
currentDate |
---|
|
行数: 1 |
date.transaction()
语法 |
|
||
描述 |
使用事务时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一事务中,每次调用都会返回相同的 DATE
值。但不同事务可能会产生不同的值。
RETURN date.transaction() AS currentDate
currentDate |
---|
|
行数: 1 |
date.truncate()
语法 |
|
||
描述 |
使用指定单位将给定时间值截断为 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示以下之一的字符串:'day'、'week'、'month'、'weekYear'、'quarter'、'year'、'decade'、'century'、'millennium'。 |
|
|
|
要截断的日期,使用 `ZONED DATETIME`、`LOCAL DATETIME` 或 `DATE`。 |
|
|
|
截断时要保留的、小于 |
|
返回 |
|
date.truncate()
返回通过在指定组件边界(由作为函数参数传入的截断单位表示)处将指定时间即时值截断到最近的先前时间点所获得的 DATE
值。换句话说,返回的 DATE
的所有小于指定截断单位的组件都将设置为其默认值。
可以通过提供一个包含小于截断单位的组件的映射来补充截断值。这将*覆盖*这些较小组件原本会设置的默认值。例如,当截断单位 STRING
是 'year'
时,可以提供具有某个值 x
的 day
,以确保返回值的*日*被设置为 x
,而不是默认的*日*(即 1
)。
|
任何未包含在 |
如果未提供 |
如果未提供 |
WITH
datetime({
year: 2017, month: 11, day: 11,
hour: 12, minute: 31, second: 14, nanosecond: 645876123,
timezone: '+01:00'
}) AS d
RETURN
date.truncate('millennium', d) AS truncMillenium,
date.truncate('century', d) AS truncCentury,
date.truncate('decade', d) AS truncDecade,
date.truncate('year', d, {day: 5}) AS truncYear,
date.truncate('weekYear', d) AS truncWeekYear,
date.truncate('quarter', d) AS truncQuarter,
date.truncate('month', d) AS truncMonth,
date.truncate('week', d, {dayOfWeek: 2}) AS truncWeek,
date.truncate('day', d) AS truncDay
truncMillenium | truncCentury | truncDecade | truncYear | truncWeekYear | truncQuarter | truncMonth | truncWeek | truncDay |
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
行数: 1 |
datetime()
语法 |
|
||
描述 |
创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
可以是时间值的字符串表示形式,包含单个键 'timezone' 的映射,或者包含时间值('year'、'month'、'day'、'hour'、'minute'、'second'、'millisecond'、'microsecond'、'nanosecond'、'timezone')作为组件的映射。 |
|
返回 |
|
名称 | 描述 |
---|---|
|
由至少四位数字组成的表达式,指定年份。 |
|
指定月份的整数,介于 |
|
指定月份中日期的整数,介于 |
|
指定一天中小时数的整数,介于 |
|
指定分钟数的整数,介于 |
|
指定秒数的整数,介于 |
|
指定毫秒数的整数,介于 |
|
指定微秒数的整数,介于 |
|
指定纳秒数的整数,介于 |
|
指定时区的表达式。 |
|
表示从 UNIX 纪元开始在 UTC 时区的秒数的数值。 |
|
表示从 UNIX 纪元开始在 UTC 时区的毫秒数的数值。 |
如果未提供参数,则必须调用 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
任何缺失的 |
如果省略 |
如果 |
集合 |
只有在也指定了 |
时间值的字符串表示形式必须表示有效日期;即表示 |
如果提供了任何可选参数,它们将覆盖 |
|
选择 |
选择 |
选择 |
|
|
RETURN datetime() AS currentDateTime
返回使用本地时区的当前日期和时间。
currentDateTime |
---|
|
行数: 1 |
RETURN datetime({timezone: 'America/Los Angeles'}) AS currentDateTimeInLA
返回加利福尼亚州的当前日期和时间。
currentDateTimeInLA |
---|
|
行数: 1 |
创建 ZONED DATETIME
值
ZONED DATETIME
UNWIND [
datetime({year: 1984, month: 10, day: 11, hour: 12, minute: 31, second: 14, millisecond: 123, microsecond: 456, nanosecond: 789}),
datetime({year: 1984, month: 10, day: 11, hour: 12, minute: 31, second: 14, millisecond: 645, timezone: '+01:00'}),
datetime({year: 1984, month: 10, day: 11, hour: 12, minute: 31, second: 14, nanosecond: 645876123, timezone: 'Europe/Stockholm'}),
datetime({year: 1984, month: 10, day: 11, hour: 12, minute: 31, second: 14, timezone: '+01:00'}),
datetime({year: 1984, month: 10, day: 11, hour: 12, minute: 31, second: 14}),
datetime({year: 1984, month: 10, day: 11, hour: 12, minute: 31, timezone: 'Europe/Stockholm'}),
datetime({year: 1984, month: 10, day: 11, hour: 12, timezone: '+01:00'}),
datetime({year: 1984, month: 10, day: 11, timezone: 'Europe/Stockholm'})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
|
|
|
|
行数: 8 |
ZONED DATETIME
UNWIND [
datetime({year: 1984, week: 10, dayOfWeek: 3, hour: 12, minute: 31, second: 14, millisecond: 645}),
datetime({year: 1984, week: 10, dayOfWeek: 3, hour: 12, minute: 31, second: 14, microsecond: 645876, timezone: '+01:00'}),
datetime({year: 1984, week: 10, dayOfWeek: 3, hour: 12, minute: 31, second: 14, nanosecond: 645876123, timezone: 'Europe/Stockholm'}),
datetime({year: 1984, week: 10, dayOfWeek: 3, hour: 12, minute: 31, second: 14, timezone: 'Europe/Stockholm'}),
datetime({year: 1984, week: 10, dayOfWeek: 3, hour: 12, minute: 31, second: 14}),
datetime({year: 1984, week: 10, dayOfWeek: 3, hour: 12, timezone: '+01:00'}),
datetime({year: 1984, week: 10, dayOfWeek: 3, timezone: 'Europe/Stockholm'})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
|
|
|
行数: 7 |
ZONED DATETIME
UNWIND [
datetime({year: 1984, quarter: 3, dayOfQuarter: 45, hour: 12, minute: 31, second: 14, microsecond: 645876}),
datetime({year: 1984, quarter: 3, dayOfQuarter: 45, hour: 12, minute: 31, second: 14, timezone: '+01:00'}),
datetime({year: 1984, quarter: 3, dayOfQuarter: 45, hour: 12, timezone: 'Europe/Stockholm'}),
datetime({year: 1984, quarter: 3, dayOfQuarter: 45})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
行数: 4 |
ZONED DATETIME
UNWIND [
datetime({year: 1984, ordinalDay: 202, hour: 12, minute: 31, second: 14, millisecond: 645}),
datetime({year: 1984, ordinalDay: 202, hour: 12, minute: 31, second: 14, timezone: '+01:00'}),
datetime({year: 1984, ordinalDay: 202, timezone: 'Europe/Stockholm'}),
datetime({year: 1984, ordinalDay: 202})
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
行数: 4 |
STRING
创建 ZONED DATETIME
UNWIND [
datetime('2015-07-21T21:40:32.142+0100'),
datetime('2015-W30-2T214032.142Z'),
datetime('2015T214032-0100'),
datetime('20150721T21:40-01:30'),
datetime('2015-W30T2140-02'),
datetime('2015202T21+18:00'),
datetime('2015-07-21T21:40:32.142[Europe/London]'),
datetime('2015-07-21T21:40:32.142-04[America/New_York]')
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
|
|
|
|
行数: 8 |
ZONED DATETIME
以下查询展示了 datetime({date [, year, ..., timezone]})
的各种用法。
WITH date({year: 1984, month: 10, day: 11}) AS dd
RETURN
datetime({date: dd, hour: 10, minute: 10, second: 10}) AS dateHHMMSS,
datetime({date: dd, hour: 10, minute: 10, second: 10, timezone:'+05:00'}) AS dateHHMMSSTimezone,
datetime({date: dd, day: 28, hour: 10, minute: 10, second: 10}) AS dateDDHHMMSS,
datetime({date: dd, day: 28, hour: 10, minute: 10, second: 10, timezone:'Pacific/Honolulu'}) AS dateDDHHMMSSTimezone
dateHHMMSS | dateHHMMSSTimezone | dateDDHHMMSS | dateDDHHMMSSTimezone |
---|---|---|---|
|
|
|
|
行数: 1 |
ZONED DATETIME
以下查询展示了 datetime({time [, year, …, timezone]})
的各种用法。
WITH time({hour: 12, minute: 31, second: 14, microsecond: 645876, timezone: '+01:00'}) AS tt
RETURN
datetime({year: 1984, month: 10, day: 11, time: tt}) AS YYYYMMDDTime,
datetime({year: 1984, month: 10, day: 11, time: tt, timezone:'+05:00'}) AS YYYYMMDDTimeTimezone,
datetime({year: 1984, month: 10, day: 11, time: tt, second: 42}) AS YYYYMMDDTimeSS,
datetime({year: 1984, month: 10, day: 11, time: tt, second: 42, timezone: 'Pacific/Honolulu'}) AS YYYYMMDDTimeSSTimezone
YYYYMMDDTime | +YYYYMMDDTimeTimezone | YYYYMMDDTimeSS | YYYYMMDDTimeSSTimezone |
---|---|---|---|
|
|
|
|
行数: 1 |
ZONED DATETIME
以下查询展示了 datetime({date, time [, year, ..., timezone]})
的各种用法;即,组合一个 DATE
和一个 ZONED TIME
值以创建单个 ZONED DATETIME
值。
WITH
date({year: 1984, month: 10, day: 11}) AS dd,
localtime({hour: 12, minute: 31, second: 14, millisecond: 645}) AS tt
RETURN
datetime({date: dd, time: tt}) AS dateTime,
datetime({date: dd, time: tt, timezone: '+05:00'}) AS dateTimeTimezone,
datetime({date: dd, time: tt, day: 28, second: 42}) AS dateTimeDDSS,
datetime({date: dd, time: tt, day: 28, second: 42, timezone: 'Pacific/Honolulu'}) AS dateTimeDDSSTimezone
dateTime | dateTimeTimezone | dateTimeDDSS | dateTimeDDSSTimezone |
---|---|---|---|
|
|
|
|
行数: 1 |
ZONED DATETIME
以下查询展示了 datetime({datetime [, year, ..., timezone]})
的各种用法。
WITH
datetime({
year: 1984, month: 10, day: 11,
hour: 12,
timezone: 'Europe/Stockholm'
}) AS dd
RETURN
datetime({datetime: dd}) AS dateTime,
datetime({datetime: dd, timezone: '+05:00'}) AS dateTimeTimezone,
datetime({datetime: dd, day: 28, second: 42}) AS dateTimeDDSS,
datetime({datetime: dd, day: 28, second: 42, timezone: 'Pacific/Honolulu'}) AS dateTimeDDSSTimezone
dateTime | dateTimeTimezone | dateTimeDDSS | dateTimeDDSSTimezone |
---|---|---|---|
|
|
|
|
行数: 1 |
epocSeconds
) 创建 ZONED DATETIME
datetime()
返回从 UNIX 纪元开始在 UTC 时区以指定*秒*数或*毫秒*数表示的 ZONED DATETIME
值。
从 UNIX 纪元表示转换为其他时间即时类型可以通过将 ZONED DATETIME
值转换为这些类型之一来实现。
RETURN datetime({epochSeconds: timestamp() / 1000, nanosecond: 23}) AS theDate
theDate |
---|
|
行数: 1 |
epocMillis
) 创建 ZONED DATETIME
RETURN datetime({epochMillis: 424797300000}) AS theDate
theDate |
---|
|
行数: 1 |
datetime.fromEpoch()
语法 |
|
||
描述 |
给定自纪元开始以来的秒数和纳秒数,创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
从 UNIX 纪元开始在 UTC 时区的秒数。 |
|
|
|
从 UNIX 纪元开始在 UTC 时区的纳秒数。此值可以添加到秒数中。 |
|
返回 |
|
WITH datetime.fromEpoch(1683000000, 123456789) AS dateTimeFromEpoch
RETURN dateTimeFromEpoch
dateTimeFromEpoch |
---|
|
行数: 1 |
datetime.fromEpochMillis()
语法 |
|
||
描述 |
给定自纪元开始以来的毫秒数,创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
从 UNIX 纪元开始在 UTC 时区的毫秒数。 |
|
返回 |
|
WITH datetime.fromEpochMillis(1724198400000) AS dateTimeFromMillis
RETURN dateTimeFromMillis
dateTimeFromMillis |
---|
|
行数: 1 |
datetime.realtime()
语法 |
|
||
描述 |
使用实时时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
返回的 ZONED DATETIME
将是系统的实时时钟。
RETURN datetime.realtime() AS currentDateTime
currentDateTime |
---|
|
行数: 1 |
datetime.statement()
语法 |
|
||
描述 |
使用语句时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一语句中,每次调用都会返回相同的 ZONED DATETIME
值。但在同一事务中,不同语句可能会产生不同的值。
RETURN datetime.statement() AS currentDateTime
currentDateTime |
---|
|
行数: 1 |
datetime.transaction()
语法 |
|
||
描述 |
使用事务时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一事务中,每次调用都会返回相同的 ZONED DATETIME
值。但在不同事务中,不同语句可能会产生不同的值。
RETURN datetime.transaction() AS currentDateTime
currentDateTime |
---|
|
行数: 1 |
RETURN datetime.transaction('America/Los Angeles') AS currentDateTimeInLA
currentDateTimeInLA |
---|
|
行数: 1 |
datetime.truncate()
语法 |
|
||
描述 |
使用指定单位将给定时间值截断为 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示以下之一的字符串:'microsecond'、'millisecond'、'second'、'minute'、'hour'、'day'、'week'、'month'、'weekYear'、'quarter'、'year'、'decade'、'century'、'millennium'。 |
|
|
|
要截断的日期,使用 `ZONED DATETIME`、`LOCAL DATETIME` 或 `DATE`。 |
|
|
|
截断时要保留的、小于 |
|
返回 |
|
datetime.truncate()
返回通过在指定组件边界(由作为函数参数传入的截断单位表示)处将指定时间即时值截断到最近的先前时间点所获得的 ZONED DATETIME
值。换句话说,返回的 ZONED DATETIME
的所有小于指定截断单位的组件都将设置为其默认值。
可以通过提供一个包含小于截断单位的组件的映射来补充截断值。这将*覆盖*这些较小组件原本会设置的默认值。例如,当截断单位 STRING
是 'year'
时,可以提供具有某个值 x
的 day
,以确保返回值的*日*被设置为 x
,而不是默认的*日*(即 1
)。
如果 |
|
如果 |
如果 |
|
任何未包含在 |
如果未提供 |
如果未提供 |
WITH
datetime({
year:2017, month:11, day:11,
hour:12, minute:31, second:14, nanosecond: 645876123,
timezone: '+03:00'
}) AS d
RETURN
datetime.truncate('millennium', d, {timezone: 'Europe/Stockholm'}) AS truncMillenium,
datetime.truncate('year', d, {day: 5}) AS truncYear,
datetime.truncate('month', d) AS truncMonth,
datetime.truncate('day', d, {millisecond: 2}) AS truncDay,
datetime.truncate('hour', d) AS truncHour,
datetime.truncate('second', d) AS truncSecond
truncMillenium | truncYear | truncMonth | truncDay | truncHour | truncSecond |
---|---|---|---|---|---|
|
|
|
|
|
|
行数: 1 |
localdatetime()
语法 |
|
||
描述 |
创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
可以是时间值的字符串表示形式,包含单个键 'timezone' 的映射,或者包含时间值('year'、'month'、'day'、'hour'、'minute'、'second'、'millisecond'、'microsecond'、'nanosecond')作为组件的映射。 |
|
返回 |
|
名称 | 描述 |
---|---|
|
|
|
由至少四位数字组成的表达式,指定年份。 |
|
指定月份的整数,介于 |
|
指定月份中日期的整数,介于 |
|
指定一天中小时数的整数,介于 |
|
指定分钟数的整数,介于 |
|
指定秒数的整数,介于 |
|
指定毫秒数的整数,介于 |
|
指定微秒数的整数,介于 |
|
指定纳秒数的整数,介于 |
如果未提供参数,则必须调用 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
如果省略 |
任何缺失的 |
如果 |
集合 |
只有在也指定了 |
时间值的字符串表示形式必须表示有效日期;即表示 |
|
如果提供了任何可选参数,它们将覆盖 |
|
RETURN localdatetime() AS now
返回当前本地日期和时间(即本地时区)。
now |
---|
|
行数: 1 |
RETURN localdatetime({timezone: 'America/Los Angeles'}) AS now
返回加利福尼亚州的当前本地日期和时间。
now |
---|
|
行数: 1 |
创建 LOCAL DATETIME
值
LOCAL DATETIME
RETURN
localdatetime({
year: 1984, month: 10, day: 11,
hour: 12, minute: 31, second: 14, millisecond: 123, microsecond: 456, nanosecond: 789
}) AS theDate
theDate |
---|
|
行数: 1 |
LOCAL DATETIME
RETURN
localdatetime({
year: 1984, week: 10, dayOfWeek: 3,
hour: 12, minute: 31, second: 14, millisecond: 645
}) AS theDate
theDate |
---|
|
行数: 1 |
ZONED DATETIME
RETURN
localdatetime({
year: 1984, quarter: 3, dayOfQuarter: 45,
hour: 12, minute: 31, second: 14, nanosecond: 645876123
}) AS theDate
theDate |
---|
|
行数: 1 |
LOCAL DATETIME
RETURN
localdatetime({
year: 1984, ordinalDay: 202,
hour: 12, minute: 31, second: 14, microsecond: 645876
}) AS theDate
theDate |
---|
|
行数: 1 |
STRING
创建 LOCAL DATETIME
UNWIND [
localdatetime('2015-07-21T21:40:32.142'),
localdatetime('2015-W30-2T214032.142'),
localdatetime('2015-202T21:40:32'),
localdatetime('2015202T21')
] AS theDate
RETURN theDate
theDate |
---|
|
|
|
|
行数: 4 |
LOCAL DATETIME
以下查询展示了 localdatetime({date [, year, ..., nanosecond]})
的各种用法。
WITH date({year: 1984, month: 10, day: 11}) AS dd
RETURN
localdatetime({date: dd, hour: 10, minute: 10, second: 10}) AS dateHHMMSS,
localdatetime({date: dd, day: 28, hour: 10, minute: 10, second: 10}) AS dateDDHHMMSS
dateHHMMSS | dateDDHHMMSS |
---|---|
|
|
行数: 1 |
LOCAL DATETIME
以下查询展示了 localdatetime({time [, year, ..., nanosecond]})
的各种用法。
WITH time({hour: 12, minute: 31, second: 14, microsecond: 645876, timezone: '+01:00'}) AS tt
RETURN
localdatetime({year: 1984, month: 10, day: 11, time: tt}) AS YYYYMMDDTime,
localdatetime({year: 1984, month: 10, day: 11, time: tt, second: 42}) AS YYYYMMDDTimeSS
YYYYMMDDTime | YYYYMMDDTimeSS |
---|---|
|
|
行数: 1 |
LOCAL DATETIME
以下查询展示了 localdatetime({date, time [, year, ..., nanosecond]})
的各种用法;即,组合一个 DATE
和一个 ZONED TIME
值以创建单个 LOCAL DATETIME
值。
WITH
date({year: 1984, month: 10, day: 11}) AS dd,
time({hour: 12, minute: 31, second: 14, microsecond: 645876, timezone: '+01:00'}) AS tt
RETURN
localdatetime({date: dd, time: tt}) AS dateTime,
localdatetime({date: dd, time: tt, day: 28, second: 42}) AS dateTimeDDSS
dateTime | dateTimeDDSS |
---|---|
|
|
行数: 1 |
LOCAL DATETIME
以下查询展示了 localdatetime({datetime [, year, ..., nanosecond]})
的各种用法。
WITH
datetime({
year: 1984, month: 10, day: 11,
hour: 12,
timezone: '+01:00'
}) AS dd
RETURN
localdatetime({datetime: dd}) AS dateTime,
localdatetime({datetime: dd, day: 28, second: 42}) AS dateTimeDDSS
dateTime | dateTimeDDSS |
---|---|
|
|
行数: 1 |
localdatetime.realtime()
语法 |
|
||
描述 |
使用实时时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
返回的 LOCAL DATETIME
将是系统的实时时钟。
RETURN localdatetime.realtime() AS now
now |
---|
|
行数: 1 |
RETURN localdatetime.realtime('America/Los Angeles') AS nowInLA
nowInLA |
---|
|
行数: 1 |
localdatetime.statement()
语法 |
|
||
描述 |
使用语句时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一语句中,每次调用都会返回相同的 LOCAL DATETIME
值。但在同一事务中,不同语句可能会产生不同的值。
RETURN localdatetime.statement() AS now
now |
---|
|
行数: 1 |
localdatetime.transaction()
语法 |
|
||
描述 |
使用事务时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一事务中,每次调用都会返回相同的 LOCAL DATETIME
值。但在不同事务中,不同语句可能会产生不同的值。
RETURN localdatetime.transaction() AS now
now |
---|
|
行数: 1 |
localdatetime.truncate()
语法 |
|
||
描述 |
使用指定单位将给定时间值截断为 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示以下之一的字符串:'microsecond'、'millisecond'、'second'、'minute'、'hour'、'day'、'week'、'month'、'weekYear'、'quarter'、'year'、'decade'、'century'、'millennium'。 |
|
|
|
要截断的日期,使用 `ZONED DATETIME`、`LOCAL DATETIME` 或 `DATE`。 |
|
|
|
截断时要保留的、小于 |
|
返回 |
|
localdatetime.truncate()
返回通过在指定组件边界(由作为函数参数传入的截断单位表示)处将指定时间即时值截断到最近的先前时间点所获得的 LOCAL DATETIME
值。换句话说,返回的 LOCAL DATETIME
的所有小于指定截断单位的组件都将设置为其默认值。
可以通过提供一个包含小于截断单位的组件的映射来补充截断值。这将*覆盖*这些较小组件原本会设置的默认值。例如,当截断单位 STRING
是 'year'
时,可以提供具有某个值 x
的 day
,以确保返回值的*日*被设置为 x
,而不是默认的*日*(即 1
)。
如果 |
|
任何未包含在 |
如果未提供 |
如果未提供 |
WITH
localdatetime({
year: 2017, month: 11, day: 11,
hour: 12, minute: 31, second: 14, nanosecond: 645876123
}) AS d
RETURN
localdatetime.truncate('millennium', d) AS truncMillenium,
localdatetime.truncate('year', d, {day: 2}) AS truncYear,
localdatetime.truncate('month', d) AS truncMonth,
localdatetime.truncate('day', d) AS truncDay,
localdatetime.truncate('hour', d, {nanosecond: 2}) AS truncHour,
localdatetime.truncate('second', d) AS truncSecond
truncMillenium | truncYear | truncMonth | truncDay | truncHour | truncSecond |
---|---|---|---|---|---|
|
|
|
|
|
|
行数: 1 |
localtime()
语法 |
|
||
描述 |
创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
可以是时间值的字符串表示形式,包含单个键 'timezone' 的映射,或者包含时间值('hour'、'minute'、'second'、'millisecond'、'microsecond'、'nanosecond')作为组件的映射。 |
|
返回 |
|
名称 | 描述 |
---|---|
|
指定一天中小时数的整数,介于 |
|
指定分钟数的整数,介于 |
|
指定秒数的整数,介于 |
|
指定毫秒数的整数,介于 |
|
指定微秒数的整数,介于 |
|
指定纳秒数的整数,介于 |
如果未提供参数,则必须调用 |
如果省略 |
如果省略 |
如果省略 |
任何缺失的 |
如果 |
集合 |
只有在也指定了 |
时间值的字符串表示形式必须符合为 时间 定义的格式。 |
时间值的字符串表示形式必须表示有效时间;即表示 |
|
如果提供了任何可选参数,它们将覆盖 |
|
RETURN localtime() AS now
返回当前本地时间(即本地时区)。
now |
---|
|
行数: 1 |
RETURN localtime({timezone: 'America/Los Angeles'}) AS nowInLA
返回加利福尼亚州的当前本地时间。
nowInLA |
---|
|
行数: 1 |
创建 LOCAL TIME
值
UNWIND [
localtime({hour: 12, minute: 31, second: 14, nanosecond: 789, millisecond: 123, microsecond: 456}),
localtime({hour: 12, minute: 31, second: 14}),
localtime({hour: 12})
] AS theTime
RETURN theTime
theTime |
---|
|
|
|
行数: 3 |
STRING
创建 LOCAL TIME
UNWIND [
localtime('21:40:32.142'),
localtime('214032.142'),
localtime('21:40'),
localtime('21')
] AS theTime
RETURN theTime
theTime |
---|
|
|
|
|
行数: 4 |
LOCAL TIME
WITH time({hour: 12, minute: 31, second: 14, microsecond: 645876, timezone: '+01:00'}) AS tt
RETURN
localtime({time: tt}) AS timeOnly,
localtime({time: tt, second: 42}) AS timeSS
timeOnly | timeSS |
---|---|
|
|
行数: 1 |
localtime.realtime()
语法 |
|
||
描述 |
使用实时时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
返回的 LOCAL TIME
将是系统的实时时钟。
RETURN localtime.realtime() AS now
now |
---|
|
行数: 1 |
localtime.statement()
语法 |
|
||
描述 |
使用语句时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一语句中,每次调用都会返回相同的 LOCAL TIME
值。但在同一事务中,不同语句可能会产生不同的值。
RETURN localtime.statement() AS now
now |
---|
|
行数: 1 |
RETURN localtime.statement('America/Los Angeles') AS nowInLA
nowInLA |
---|
|
行数: 1 |
localtime.transaction()
语法 |
|
||
描述 |
使用事务时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一事务中,每次调用都会返回相同的 LOCAL TIME
值。但在不同事务中,不同语句可能会产生不同的值。
RETURN localtime.transaction() AS now
now |
---|
|
行数: 1 |
localtime.truncate()
语法 |
|
||
描述 |
使用指定单位将给定时间值截断为 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示以下之一的字符串:'day'、'week'、'month'、'weekYear'、'quarter'、'year'、'decade'、'century'、'millennium'。 |
|
|
|
要截断的日期,使用 `ZONED DATETIME`、`LOCAL DATETIME`、`LOCAL TIME` 或 `DATE`。 |
|
|
|
截断时要保留的、小于 |
|
返回 |
|
localtime.truncate()
返回通过在指定组件边界(由作为函数参数传入的截断单位表示)处将指定时间即时值截断到最近的先前时间点所获得的 LOCAL TIME
值。换句话说,返回的 LOCAL TIME
的所有小于指定截断单位的组件都将设置为其默认值。
可以通过提供一个包含小于截断单位的组件的映射来补充截断值。这将*覆盖*这些较小组件原本会设置的默认值。例如,当截断单位字符串是 'hour'
时,可以提供具有某个值 x
的 minute
,以确保返回值的*分钟*被设置为 x
,而不是默认的*分钟*(即 1
)。
支持将时间截断到日 — 即 |
|
任何未包含在 |
如果未提供 |
如果未提供 |
WITH time({hour: 12, minute: 31, second: 14, nanosecond: 645876123, timezone: '-01:00'}) AS t
RETURN
localtime.truncate('day', t) AS truncDay,
localtime.truncate('hour', t) AS truncHour,
localtime.truncate('minute', t, {millisecond: 2}) AS truncMinute,
localtime.truncate('second', t) AS truncSecond,
localtime.truncate('millisecond', t) AS truncMillisecond,
localtime.truncate('microsecond', t) AS truncMicrosecond
truncDay | truncHour | truncMinute | truncSecond | truncMillisecond | truncMicrosecond |
---|---|---|---|---|---|
|
|
|
|
|
|
行数: 1 |
time()
语法 |
|
||
描述 |
创建 |
||
参数 |
名称 |
类型 |
描述 |
|
|
可以是时间值的字符串表示形式,包含单个键 'timezone' 的映射,或者包含时间值('hour'、'minute'、'second'、'millisecond'、'microsecond'、'nanosecond'、'timezone')作为组件的映射。 |
|
返回 |
|
名称 | 描述 |
---|---|
|
指定一天中小时数的整数,介于 |
|
指定分钟数的整数,介于 |
|
指定秒数的整数,介于 |
|
指定毫秒数的整数,介于 |
|
指定微秒数的整数,介于 |
|
指定纳秒数的整数,介于 |
|
指定时区的表达式。 |
如果未提供参数,则必须调用 |
如果省略 |
如果省略 |
如果省略 |
任何缺失的 |
如果省略 |
如果 |
集合 |
只有在也指定了 |
如果省略*时区*组件,则将默认为配置的默认时区。 |
时间值的字符串表示形式必须表示有效时间;即表示 |
|
如果提供了任何可选参数,它们将覆盖 |
|
选择 |
选择 |
RETURN time() AS currentTime
返回使用本地时区的当前时间。
currentTime |
---|
|
行数: 1 |
RETURN time({timezone: 'America/Los Angeles'}) AS currentTimeInLA
返回加利福尼亚州的当前时间。
currentTimeInLA |
---|
|
行数: 1 |
创建 ZONED TIME
值
UNWIND [
time({hour: 12, minute: 31, second: 14, millisecond: 123, microsecond: 456, nanosecond: 789}),
time({hour: 12, minute: 31, second: 14, nanosecond: 645876123}),
time({hour: 12, minute: 31, second: 14, microsecond: 645876, timezone: '+01:00'}),
time({hour: 12, minute: 31, timezone: '+01:00'}),
time({hour: 12, timezone: '+01:00'})
] AS theTime
RETURN theTime
theTime |
---|
|
|
|
|
|
行数: 5 |
STRING
创建 ZONED TIME
UNWIND [
time('21:40:32.142+0100'),
time('214032.142Z'),
time('21:40:32+01:00'),
time('214032-0100'),
time('21:40-01:30'),
time('2140-00:00'),
time('2140-02'),
time('22+18:00')
] AS theTime
RETURN theTime
theTime |
---|
|
|
|
|
|
|
|
|
行数: 8 |
ZONED TIME
WITH localtime({hour: 12, minute: 31, second: 14, microsecond: 645876}) AS tt
RETURN
time({time: tt}) AS timeOnly,
time({time: tt, timezone: '+05:00'}) AS timeTimezone,
time({time: tt, second: 42}) AS timeSS,
time({time: tt, second: 42, timezone: '+05:00'}) AS timeSSTimezone
timeOnly | timeTimezone | timeSS | timeSSTimezone |
---|---|---|---|
|
|
|
|
行数: 1 |
time.realtime()
语法 |
|
||
描述 |
使用实时时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
返回的 ZONED TIME
将是系统的实时时钟。
RETURN time.realtime() AS currentTime
currentTime |
---|
|
行数: 1 |
time.statement()
语法 |
|
||
描述 |
使用语句时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一语句中,每次调用都会返回相同的 ZONED TIME
值。但在同一事务中,不同语句可能会产生不同的值。
RETURN time.statement() AS currentTime
currentTime |
---|
|
行数: 1 |
RETURN time.statement('America/Los Angeles') AS currentTimeInLA
currentTimeInLA |
---|
|
行数: 1 |
time.transaction()
语法 |
|
||
描述 |
使用事务时钟返回当前 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示时区的字符串值。 |
|
返回 |
|
在同一事务中,每次调用都会返回相同的 ZONED TIME
值。但在不同事务中,不同语句可能会产生不同的值。
RETURN time.transaction() AS currentTime
currentTime |
---|
|
行数: 1 |
time.truncate()
语法 |
|
||
描述 |
使用指定单位将给定时间值截断为 |
||
参数 |
名称 |
类型 |
描述 |
|
|
表示以下之一的字符串:'microsecond'、'millisecond'、'second'、'minute'、'hour'、'day'。 |
|
|
|
要截断的日期,使用 `ZONED DATETIME`、`LOCAL DATETIME`、`ZONED TIME` 或 `LOCAL TIME`。 |
|
|
|
截断时要保留的、小于 |
|
返回 |
|
time.truncate()
返回通过在指定组件边界(由作为函数参数传入的截断单位表示)处将指定时间即时值截断到最近的先前时间点所获得的 ZONED TIME
值。换句话说,返回的 ZONED TIME
的所有小于指定截断单位的组件都将设置为其默认值。
可以通过提供一个包含小于截断单位的组件的映射来补充截断值。这将*覆盖*这些较小组件原本会设置的默认值。例如,当截断单位 STRING
是 'hour'
时,可以提供具有某个值 x
的 minute
,以确保返回值的*分钟*被设置为 x
,而不是默认的*分钟*(即 1
)。
支持将时间截断到日 — 即 |
|
如果 |
如果 |
|
任何未包含在 |
如果未提供 |
如果未提供 |
WITH time({hour: 12, minute: 31, second: 14, nanosecond: 645876123, timezone: '-01:00'}) AS t
RETURN
time.truncate('day', t) AS truncDay,
time.truncate('hour', t) AS truncHour,
time.truncate('minute', t) AS truncMinute,
time.truncate('second', t) AS truncSecond,
time.truncate('millisecond', t, {nanosecond: 2}) AS truncMillisecond,
time.truncate('microsecond', t) AS truncMicrosecond
truncDay | truncHour | truncMinute | truncSecond | truncMillisecond | truncMicrosecond |
---|---|---|---|---|---|
|
|
|
|
|
|
行数: 1 |