gpt4 book ai didi

java - 从java中的System.nanoTime()计算小时

转载 作者:行者123 更新时间:2023-11-30 01:57:45 26 4
gpt4 key购买 nike

在 gemfire 上,我有一个区域 ABC,并且在该区域内有一个 long 类型的列/字段。在此字段中,我将值设置为 System.nanoTime()。我想获取该区域 24 小时前的所有记录。我怎样才能做到这一点?

目前我正在尝试进行如下查询,但它不起作用。

select  regionTimestamp from /ABCRegion where (((((regionTimestamp-currentTimeStamp)/ 1000000000))/3600)>24)

任何帮助建议都必须受到赞赏。

最佳答案

注意:每当计算机重新启动时,System.nanoTime() 都会重置,因此将其存储在数据库中不是一个好的选择。这也意味着每台机器的时间都是本地的。

LocalDateTime.now() 是纳秒分辨率的挂钟,重启后不会重置,并且更有可能跨机器工作。

<小时/>

无论如何,您可以重新排列并计算

long now = ...
long aDayAgo = now - 86_400_000_000_000L; // 24 hours.

search for ... where regionTimestamp > aDayAgo

关于java - 从java中的System.nanoTime()计算小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53811479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com