【发布时间】:2018-04-17 10:16:47
【问题描述】:
我想将默认时区从 UTC 更改为另一个时区。怎么可能?我试过 返回 apoc.date.format(timestamp(),'ms', 'yyyy/MM/dd HH/mm/ss') 但它会在 localhost 上返回 UTC 时间。
【问题讨论】:
我想将默认时区从 UTC 更改为另一个时区。怎么可能?我试过 返回 apoc.date.format(timestamp(),'ms', 'yyyy/MM/dd HH/mm/ss') 但它会在 localhost 上返回 UTC 时间。
【问题讨论】:
示例答案:
RETURN apoc.date.format(timestamp(),'ms', 'yyyy/MM/dd HH:mm:ss',"Europe/Paris")
来源方法:
public String format(final
@Name("time") Long time
,@Name(value = "unit", defaultValue = "ms") String unit
,@Name(value = "format",defaultValue = DEFAULT_FORMAT) String format
,@Name(value = "timezone",defaultValue = "") String timezone)
{
return time == null ? null : parse(unit(unit).toMillis(time), format, timezone);
}
timezone 参数进一步传递给 Java TimeZone 类构造函数。
从Java documentation 到它应该包含什么 -
时区的 ID,可以是“PST”等缩写,也可以是完整的 名称,例如“America/Los_Angeles”,或自定义 ID,例如“GMT-8:00”。 请注意,缩写的支持是为了与 JDK 1.1.x 兼容 只能使用全名。
这个项目的源代码—— https://github.com/neo4j-contrib/neo4j-apoc-procedures/blob/3.3/src/main/java/apoc/date/Date.java
有关详细信息,请查看有关 APOC 日期的文章 http://xclave.azurewebsites.net/2018/02/28/better-know-apoc-apoc-3-date-parse-format/
【讨论】: