apoc.date.field

此函数已弃用。请改用 Cypher 的 时间组件 (temporal components)

详细信息

语法

apoc.date.field(time [, unit, timezone ])

描述

返回给定日期时间中某个字段的值。

参数

名称

类型

描述

time

INTEGER(整数)

自 epoch(纪元)以来的毫秒时间戳,用于从中获取字段。

unit

STRING

要返回其值的字段单位。默认值为:d

timezone

STRING

给定时间戳所属的时区。默认值为:UTC

返回

INTEGER(整数)

使用 Cypher 访问时间字段

可以使用 Cypher 的 instance.field 组件访问 来获取时间类型字段。

访问时间字段的 Cypher 语法
RETURN datetime().year

也可以动态访问字段

动态访问时间字段的 Cypher 语法
RETURN datetime()[$fieldNameAsParam]

用法示例

unit 参数支持以下值

  • ms, milli, millis, milliseconds(等同于 Cypher 中的 instant.millisecond

  • s, second, seconds(等同于 Cypher 中的 instant.second

  • m, minute, minutes(等同于 Cypher 中的 instant.minute

  • h, hour, hours(等同于 Cypher 中的 instant.hour

  • d, day, days(等同于 Cypher 中的 instant.day

  • w, weekday, weekdays(等同于 Cypher 中的 instant.dayOfWeek

  • month, months(等同于 Cypher 中的 instant.month

  • year, years(等同于 Cypher 中的 instant.year

计算出的值将采用 unit 参数指定的单位。

以下示例演示了如何同时使用 APOC 和 Cypher 返回日期时间的小时数

apoc.date.field
WITH datetime("2020-11-04T10:30:00").epochMillis AS datetime
RETURN apoc.date.field(datetime, "hours") AS hour;
使用 Cypher 的时间实例访问
WITH datetime("2020-11-04T10:30:00") AS datetime
RETURN datetime.hour AS hour;
结果
小时

10

以下示例演示了如何同时使用 APOC 和 Cypher 返回日期时间的星期几

apoc.date.field
WITH datetime("2020-11-04T10:30:00").epochMillis AS datetime
RETURN apoc.date.field(datetime, "weekday") AS weekday;
使用 Cypher 的时间实例访问
WITH datetime("2020-11-04T10:30:00") AS datetime
RETURN datetime.dayOfWeek AS weekday;
结果
星期几

3