日期转换

Neo4j底层默认是不支持类似于time,datetime等时间格式存储的,因此日期可以通过系统的timestamp()函数来获取当前的时间

 2019-01-10                          return apoc.date.parse("2019-01-10","s","yyyy-MM-dd")                       秒          1547078400(10位)√

                                              return apoc.date.parse("2019-01-10","ms","yyyy-MM-dd")                   毫秒        1547078400000(13位)√

 

1547078400(10位)          return apoc.date.format(1547078400,'s','yyyy-MM-dd','CTT')                  秒      2019-01-10   √

                                            return apoc.date.format(1547078400,'ms','yyyy-MM-dd','CTT')                  毫秒    1970-01-19  ❌

1547078400000(13位)   return apoc.date.format(1547078400000,'s','yyyy-MM-dd','CTT')                 秒      50994-12-18  ❌

                                           return apoc.date.format(1547078400000,'ms','yyyy-MM-dd','CTT')          毫秒    2019-01-10    √

(1)获取当前时间(时间戳):

     return timestamp()  

     输出;1547084240558(13)

(2)时间戳-->日期 apoc.date.format

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

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

 

   return apoc.date.parse("2013-01-12T08:46:15Z",'s',"yyyy-MM-dd'T'HH:mm:ssXXX") 

   return apoc.date.parse("2012-11-12T08:46:15Z",'s',"yyyy-MM-dd'T'HH:mm:ss'Z'")

 

 

 

match(into:HC_intopiece)WHERE into.pieces_no_id in ["19050811015204495524","19050611015204483900"] return into.pieces_no_id,into.state,apoc.date.format(toInteger(into.time),'s','yyyy-MM-dd','CTT') as new_time

 

posted on 2019-01-10 11:18  happygril3  阅读(692)  评论(0)    收藏  举报

导航