apoc.date.fields

此函数已弃用。请改用 Cypher 对应的时态类型构造函数,例如 date()

详细信息

语法

apoc.date.fields(date [, pattern ])

描述

将给定的日期拆分为各个字段,并返回一个包含每个字段值的 MAP(映射)。

参数

名称

类型

描述

date

STRING

时态值的字符串表示形式。

pattern

STRING

给定时间格式的格式模式。默认值为:yyyy-MM-dd HH:mm:ss

返回

MAP

使用示例

date 参数是符合 ISO8601 标准格式的日期字符串

pattern 参数支持Java DateTime 格式化和解析模式中定义的值

以下代码返回日期的各个字段

apoc.date.fields
RETURN apoc.date.fields("2020-11-04", "yyyy-MM-dd") AS fields;
Cypher 的模式构造函数
RETURN date("2020-11-04") AS fields;
结果
fields

{days: 4, zoneid: "UTC", months: 11}

以下代码返回日期时间的各个字段

apoc.date.fields
RETURN apoc.date.fields("2020-11-04T10:30:21", "yyyy-MM-dd'T'HH:mm:ss") AS fields;
Cypher 的模式构造函数
RETURN datetime("2020-11-04T10:30:21") AS fields;
结果
fields

{hours: 10, seconds: 21, months: 11, minutes: 30, days: 4, zoneid: "UTC"}

以下代码返回包含时区的日期时间的各个字段

apoc.date.fields
RETURN apoc.date.fields("2020-11-04T10:30:21+01:00", "yyyy-MM-dd'T'HH:mm:ssz") AS fields;
Cypher 的模式构造函数
RETURN datetime("2020-11-04T10:30:21+01:00") AS fields;
结果
fields

{hours: 10, seconds: 21, months: 11, minutes: 30, days: 4, zoneid: "+01:00"}

在 3.4 版本中,Neo4j 引入了时态数据类型,这是在 Neo4j 中表示日期的推荐方式。可以使用 Cypher 的 instance.field 函数获取时态类型的字段。(例如 datetime({epochMillis: dateInteger}).year)。有关语法详情,请参阅 Cypher 文档

但是,如果您仍然需要转换时间戳格式,此过程提供了相应的功能。