博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
neo4j的日期时间格式转换函数
阅读量:4198 次
发布时间:2019-05-26

本文共 2503 字,大约阅读时间需要 8 分钟。

Neo4j底层默认是不支持类似于time,datetime等时间格式存储的,因此如果Node节点的属性如果想保存有类似createTime日期格式的形式可以通过系统的timestamp()函数来获取当前的时间:

我们可以通过

call apoc.help('timestamp')

来查看这个函数的说明:实际上是使用System.currentTimeMillis()返回当前的毫秒的时间戳。

image.png

return timestamp()

image.png

但是1528183330725这种整数毫秒的形式可能不太直观,我们还是希望看到类似:yyyy-MM-dd HH:mm:ss,如2018-06-05 15:22:10这类形式日期,并以字符串的形式存储于节点的属性中。

因此,我们可以使用APOC的函数apoc.date.format来完成这个转换操作。
看看这个函数的一些基本说明和参数

call apoc.help('apoc.date.format')
type name text signature
function apoc.date.format apoc.date.format(12345,(‘ms|s|m|h|d’),(‘yyyy-MM-dd HH:mm:ss zzz’),(‘TZ’)) get string representation of time value optionally using the specified unit (default ms) using specified format (default ISO) and specified time zone (default current TZ) apoc.date.format(time :: INTEGER?, unit = ms :: STRING?, format = yyyy-MM-dd HH:mm:ss :: STRING?, timezone = :: STRING?) :: (STRING?)

* time: INTEGER 第1个参数是整型;

* unit: STRING 第2个参数是字符串,取值有ms|s|m|h|d,表示:毫秒|秒|分|时|日,是第1个参数的单位,默认值是ms,即毫秒;
* format: STRING 第3个参数表示转换输出的格式,如yyyy-MM-dd HH:mm:ss zzz(精确到秒,zzz表示返回时区);
* timezone: STRING 第4个参数表示时区,默认是当前Neo4j数据库配置的时区,可以在neo4j.conf中进行dbms.db.timezone配置,默认时区是UTC;

分析完这个函数,我们就可以编写以下的转换操作:

return apoc.date.format(timestamp(),'ms','yyyy-MM-dd HH:mm:ss','CTT') as createTime

(这里的CTT表示的时区是Asia/Shanghai,文末会附上所有时区的说明和对应的时区id)

结果:
╒═════════════════════╕
│”createTime” │
╞═════════════════════╡
│”2018-06-05 16:03:19”│
└─────────────────────┘

注意:如果yyyy-MM-dd HH:mm:ss中的HH变为小写,即yyyy-MM-dd hh:mm:ss,那么得到的小时会是12小时的表示形式,即上面的createTime变为2018-06-05 04:03:19

那么在实际创建带createTime日期信息节点的时候cypher语句为:

CREATE (testNode:TestNode {
pro:"test",createTime: apoc.date.format(timestamp(),'ms','yyyy-MM-dd HH:mm:ss','CTT')})return testNode

建议的写法为如下所示:可以在后续其他语句共同使用这个createTime变量,生成一次即可

WITH apoc.date.format(timestamp(),'ms','yyyy-MM-dd HH:mm:ss','CTT') as createTimeCREATE (testNode:TestNode {pro:"test",createTime:createTime})return testNode

timezone时区:

EST - -05:00

HST - -10:00
MST - -07:00
ACT - Australia/Darwin
AET - Australia/Sydney
AGT - America/Argentina/Buenos_Aires
ART - Africa/Cairo
AST - America/Anchorage
BET - America/Sao_Paulo
BST - Asia/Dhaka
CAT - Africa/Harare
CNT - America/St_Johns
CST - America/Chicago
CTT - Asia/Shanghai
EAT - Africa/Addis_Ababa
ECT - Europe/Paris
IET - America/Indiana/Indianapolis
IST - Asia/Kolkata
JST - Asia/Tokyo
MIT - Pacific/Apia
NET - Asia/Yerevan
NST - Pacific/Auckland
PLT - Asia/Karachi
PNT - America/Phoenix
PRT - America/Puerto_Rico
PST - America/Los_Angeles
SST - Pacific/Guadalcanal
VST - Asia/Ho_Chi_Minh

zengxijin.jpg

欢迎加微信交流

转载地址:http://zgwli.baihongyu.com/

你可能感兴趣的文章
环境资源与相关词汇中英文对照
查看>>
fluorenscence aerodynamic particcle sizer
查看>>
HOME - Research Highlights & Publications
查看>>
Leibniz Institute for Tropospheric Research
查看>>
Laser Spectroscopy Group
查看>>
顺风比EMS强多了!
查看>>
搭建CPU+GPU 集群
查看>>
手把手教你配置Windows2003集群(图)
查看>>
WIN7下开启无线网卡软AP
查看>>
CShell 简单语法
查看>>
Linux(CentOS)下把python脚本转化成可执行程序
查看>>
【Unity3D游戏开发】性能优化之Texture图片空间和内存占用分析(三七)
查看>>
【Unity3D游戏开发】material与sharedMaterial的区别 (三八)
查看>>
【Unity2D游戏实战 之 2D滚屏射击】1.背景滚动 (一)
查看>>
【Git+Source Tree使用教程之一】commit & push
查看>>
C#和.NET框架和术语
查看>>
【React Native】把现代web科技带给移动开发者(一)
查看>>
【GoLang】Web工作方式
查看>>
Launch Sublime Text 3 from the command line
查看>>
【数据库之mysql】mysql的安装(一)
查看>>