Java:如何计算从时间开始的天数(带时区)

标签 java date jodatime

我想计算从“时间开始”到当前日期的天数。这可以通过简单的计算轻松实现(时间戳/24/60/60/1000 = daysFromBeginningOfTime ),但问题是我还需要了解时区。时间戳在世界各地都是相同的,但是当您使用正确的时区解析它时,它反射(reflect)了位置之间的差异,因此仅使用时间戳是行不通的,我不想自己处理所有时区转换。

示例: 如果伦敦的时间为 23:30,日期编号为 18843,那么阿姆斯特丹的时间为 0:30,日期编号应为 18844。

我查看了joda.time,但没有真正找到我要找的东西。 大家有什么想法吗?

最佳答案

我认为,问题的出现是由于错误的初始假设。

OP 在他的例子中提出的论点是不正确的。无论伦敦或阿姆斯特丹的时钟显示什么,在每个时间点,与纪元开始的时差都与您身在世界何处无关。

因此,解决方案是将给定的输入日期解析为 UTC 时间戳并像以前一样继续。

关于Java:如何计算从时间开始的天数(带时区),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295678/

相关文章:

java - 关于 CTCI 的 Java 队列实现的问题

java - 如何在 parse.com 数据库中追加列

python - 将日期范围行拆分为年(取消分组) - Python Pandas

Java 简单日期格式 : an hour wrong

mySQL 更新接下来的 12 个 NULL 值,日期递增 1

java - Joda时间解析时间超过24小时

java - JFrame 在单独的类中,ActionListener 怎么样?

JAVA循环中的循环和多结果集关闭第一个结果集

java - JodaTime 年表缓存

java - Joda DateTime 在解析字符串时自动更改时区