java - 如何忽略 Joda DateTime.plusDate 函数中的 DST 更改

标签 java jodatime dst

我使用以下代码添加 1 天。

DateTime userOriginalStartDate = new DateTime(shiftStartEndDuration.getStart());
userOriginalStartDate = userOriginalStartDate.plusDays(1);

当我的时间是 2015 年 3 月 7 日 8:00(3 月 8 日 DST 更改)时,它会更改为 2015 年 3 月 8 日 9:00。 由于 DST,它会额外增加 1 小时,但我已经计算了 DST,所以在这个地方我想忽略此更改。 有什么办法可以忽略 DST 更改

最佳答案

使用不携带时区信息的LocalDateTime,进行加法,然后转换回DateTime

LocalDateTime localUserOriginalStartDate = new LocalDateTime(shiftStartEndDuration.getStart());
DateTime userOriginalStartDate = localUserOriginalStartDate.plusDays(1).toDateTime();

关于java - 如何忽略 Joda DateTime.plusDate 函数中的 DST 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41017505/

相关文章:

java - 如何从数组列表中删除元素?

Android java.lang.NoClassDefFoundError 使用 JODA 库

java - 如何计算考虑到日节省类次的日期之间的天数?

java - 如何知道一个国家/地区是否存在夏令时?

java - 为什么 hankcs/AhoCorasickDoubleArrayTrie 中的 lambda 示例不起作用?

java - 何时使用以及如何编写循环和半代码

java - 获取所有可能的可用货币

java - 无法从 joda dateTime 对象中删除毫秒

hibernate - jodatime 与 hibernate 5 的兼容性问题

Java 日历 DST 提前问题/错误