1

我想从我在 Android 中的时间戳中减去几天。

我有一个带有 long 类型的日期字段的SQLite数据库。当我执行一个查询时,我说date = date - (3 * 86400000)我有时会在将其转换为可读日期时遇到一小时的差异。

但这怎么可能?这与我所在时区的一小时夏令时有关吗?

因为如果这是原因我会觉得很奇怪,因为您正在使用两个长值进行计算,并且在将它们转换回日期时间之后不应该存在夏令时问题?

4

2 回答 2

0

感谢您的回复,但我找到了解决方案。似乎当您在时间戳中添加以毫秒为单位的天数并且两者之间的日光设置存在一小时差异时,日期会自动更正。

当我执行以下操作时,将忽略小时:

Date d = new Date();
d.setDays(d.getDays() - 2);

但是,我建议使用 Joda 库,因为它更加灵活且易于使用。

于 2012-10-29T12:29:36.307 回答
0
于 2018-11-16T21:20:27.097 回答