我创建了一些带有一些值时间的用户节点:
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
有什么建议吗?提前致谢
答案 0 :(得分:2)
两个注释:
您应该使用HH:mm这样的格式,这意味着您需要将09:30指定为09:30。
同样在前一种情况下,如果您想获得所需的订单,则需要指定“按pickTime asc排序”而不是desc
答案 1 :(得分:2)
时间是它首次出现的一个更棘手的事情,通常是因为时间通常会回溯到时区,日期或其他东西。
很多人会通过System.getCurrentTimeMillis()
存储他们从java获得的epoch time。然后他们会把它转换成他们以后需要的东西。
如果他们只是在寻找相对时间(即下午2:30),其他人会存储the number of minutes after midnight
另一种选择是使用Java Date
对象作为值。这些更丰富,允许您表达时区,日历概念等。
将它们存储为字符串对于大多数用例来说绝对是一个失败的主张。存储为类似长整数的东西允许直接比较,但也需要将类似纪元时间的内容转换为您真正想要的字符串,例如“9:30”