知识库

如何将表示日期时间戳的属性转换为另一个时区

Neo4j 3.4 中引入了时间数据类型支持,因此可以将带有时区的日期时间戳作为属性值记录。

以下 Cypher 可用于将带有时区的日期时间戳从一个时区转换为另一个时区

MATCH (n:Person)
       where    exists(n.date_enrolled)
       return   n.date_enrolled,
                datetime({datetime:datetime(n.date_enrolled), timezone:'America/New York'}) as EST limit 1;

例如,使用以下数据

CREATE (n:Person) set n.date_enrolled='2019-02-26T01:23:40Z'

在本例中,属性 date_enrolled 记录为字符串,表示 2019 年 2 月 26 日 UTC 时间 01:23:40

上述 MATCH 语句将返回

n.date_enrolled       | EST
"2019-02-26T01:23:40Z"│"2019-02-25T20:23:40[America/New_York]"