如何在neo4j中存储时间数据类型?

时间:2015-11-01 15:31:40

标签: time neo4j

我创建了一些带有一些值时间的用户节点:

CREATE (u1:User {name:'user 1', pickUpTime:'10:10', dropOffTime:'10:35'})

我想知道什么是存储时间的好方法(格式),因为当我做这种查询时

MATCH (u:User) RETURN u.name AS name, u.pickUpTime AS pickTime Order by pickTime desc

我得到了这个结果

name    pickTime
user 3  9:30
user 2  10:20
user 1  10:10

我需要得到一个有序的结果:

 name   pickTime
 user 3  9:30
 user 1 10:10
 user 2 10:20

有什么建议吗?提前致谢

2 个答案:

答案 0 :(得分:2)

两个注释:

  1. 您应该使用HH:mm这样的格式,这意味着您需要将09:30指定为09:30。

  2. 同样在前一种情况下,如果您想获得所需的订单,则需要指定“按pickTime asc排序”而不是desc

答案 1 :(得分:2)

时间是它首次出现的一个更棘手的事情,通常是因为时间通常会回溯到时区,日期或其他东西。

很多人会通过System.getCurrentTimeMillis()存储他们从java获得的epoch time。然后他们会把它转换成他们以后需要的东西。

如果他们只是在寻找相对时间(即下午2:30),其他人会存储the number of minutes after midnight

另一种选择是使用Java Date对象作为值。这些更丰富,允许您表达时区,日历概念等。

将它们存储为字符串对于大多数用例来说绝对是一个失败的主张。存储为类似长整数的东西允许直接比较,但也需要将类似纪元时间的内容转换为您真正想要的字符串,例如“9:30”