我正在开发的程序需要确定给定日期是否超过一周。我想出了以下代码:
((new Date()).getTime() - date.getTime() > 7 * 24 * 60 * 60 * 1000)
告诉我代码是否正确。如果不正确,请帮助我编写正确的代码。此外,如果您有更好的编码方式,请与我们联系。
答案 0 :(得分:1)
来自同一个国家,我想我理解她为什么发布这个问题。原因很复杂,除非你对文化有所了解,否则你可能无法理解。无论如何,说下面的代码是更好的方法就足够了。
System.currentTimeMillis() - date.getTime() > 7 * 24 * 60 * 60 * 1000
答案 1 :(得分:0)
如评论中所述,您应该运行代码并对其进行测试。
关于正确性,对所有情况都不正确,因为例如它不尊重夏季/冬季时间。因此,如果您在时间范围的中间有一个小时班,那么您将得到与其他人不同的结果。此外,日期没有时区信息,因此在许多情况下,您在比较不同机器创建的日期时会遇到麻烦。
这是您几乎总是使用API进行日期/时间计算的原因之一。由于Java 8还没有公开,你可能不得不忍受丑陋的现有类,或者在这方面使用一个可用的开源API - 但是,不要自己动手。