neo4j - 如何在neo4j中将字符串转换为时间戳
问题描述
我已经使用 CSV 将字符串格式的时间戳加载到 Neo4j 中,因为我不知道如何从一开始就将它们设置为日期时间格式。然后我找到了一种在字符串上使用“split”函数的方法,然后将其转换为整数,然后转换为日期时间,除了小问题之外,我得到了大部分工作
我尝试用“-”分割日期位,用“:”分割时间,但我不确定如何处理日期和时间之间的空格,这使得我的解决方案无法正常工作
MATCH (p:event)
WITH p, [x IN split(p.tstamp, "-") | toInteger(x)] AS parts
WITH p,parts, [y IN split(p.tstamp, ":") | toInteger(y)] AS timeparts
SET p.timestamp = datetime({day: parts[2], month: parts[1], year: parts[0], hour: timeparts[0], minute:timeparts [1], second:timeparts[2]
});
原始时间戳示例是:
//original timestamp
09/01/2019 17:34:58.0000
我希望有例如:
//e.timestamp
09/01/2019 17:34:58
但我得到了:
//e.timestamp
"2019-01-01T00:34:58Z"
解决方案
您可以尝试使用apoc 函数来解析任何格式的日期和时间。
我添加了带有您原始时间戳的事件
{
"tstamp": "09/01/2019 17:34:58"
}
查询完成了工作
MATCH (p:Event)
SET p.timestamp = datetime({ epochMillis: apoc.date.parse(p.tstamp, 'ms', 'MM/dd/yyyy HH:mm:ss') })
在此查询之后,我的事件如下:
{
"tstamp": "09/01/2019 17:34:58",
"timestamp": "2019-09-01T17:34:58Z"
}
推荐阅读
- ios - 如何访问容器中各部分的行?
- solr - 将 solr 集成到现有项目中
- azure - 如何在 Azure webjobs 中加载外部模块 Powershell
- javascript - 如何检查 jquery 是否正常工作以及 Jquery.min.js 文件是否已成功加载
- tree - 如何根据字段值在树表中构建层次结构并使 SAPUI5 中的子选择成为可能
- java - 如何打印列表
- python - 在 ubuntu 16.04 上安装 python3 包
- python - 使用请求模块时无法建立新连接:[Errno 11001] getaddrinfo failed'))
- swift - 类的 Swift 初始化器
- mysql - 如果一行未通过连接条件,Mysql 连接查询不排除具有相同 ID 的行