java - JodaTime 比较两个不同时区的日期

标签 java datetime time jodatime

如果我比较两个不同时区的DateTime,有问题,还是应该让他在同一个时区?

示例:

DateTimeZone a = new DateTimeZone("Pacific/Kiritimati");
    DateTimeZone b = new DateTimeZone("Pacific/Gambier");

    DateTime dateOne = new DateTime(a);
    DateTime dateTwo = new DateTime(b);

    if (dateOne.compareTO(dateTwo) == 0) {
        // yes
    } else {
        // no
    }

谢谢你。 (抱歉我的英语不好)

最佳答案

人们总是对日期和时区感到困惑。日期(或时间,或日期时间)是特定的瞬间。这个瞬间在全宇宙都是一样的,所以它与时区无关,通常用UTC(世界时)或Z(祖鲁时间)来表示。 Timzone 是对 UTC 的修改,以显示地球上该特定区域的相对太阳时。通过设置时区,您只是在告诉这个日期时间是相对于这个特定时区的,但在内部它仍将表示为 UTC。在这种情况下,如果时区具有不同的 UTC 偏移量,它们应该不同。

关于java - JodaTime 比较两个不同时区的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753107/

相关文章:

java - 将 Java 日期时间与当前时间进行比较

python - Python : Alert if more than N errors in a given period? 日志解析

java - 构建 Java 服务器,但我无法让页面停止加载(使用 PrintWriter 和 Buffered Reader)

java - 在 Wildfly 上的 MyBatis 中使用 REQUIRES_NEW JTA 事务类型

java - 包含 "{}"的匹配字符串。正确的方法是什么?

python - 将 timedelta 转换为总秒数

sqlite - 从 SQLite 正确选择以前的日期

php - Typo3 DateTime setter 问题

javascript - 将毫秒转换为 yyyy-MM-dd HH :mm:ss format Javascript

java - JTable 列名称不打印