我想从 Android 中的时间戳中减去几天。
我有一个SQLite具有 long 类型日期字段的数据库。
当我执行一个查询时,我说 date = date - (3 * 86400000)
在将其转换为可读日期时,有时会遇到一小时的差异。
但这怎么可能呢?这与我的时区夏令时一小时有关吗?
因为如果这就是原因,我会觉得很奇怪,因为您正在使用两个长值进行计算,并且将它们转换回日期时间后,不应该出现夏令时问题?
最佳答案
感谢您的回复,但我找到了解决方案。 看来,当您在时间戳中添加以毫秒为单位的天数并且其间的日光设置存在一个小时的差异时,日期会自动更正。
当我执行以下操作时,小时将被忽略:
Date d = new Date();
d.setDays(d.getDays() - 2);
但是,我建议使用 Joda 库,因为它更加灵活且易于使用。
关于java - android 在数据库中添加或删除时间戳中的小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13093016/