Код: Выделить всё
import java.time.*;
var today = Instant.now();
var futureDay1 = today.atZone(ZoneId.systemDefault()).plusDays(1428826726);
var futureDay2 = today.atZone(ZoneOffset.UTC).plusDays(1428826726).withZoneSameInstant(ZoneId.systemDefault());
В итоге остается следующее:
Код: Выделить всё
futureDay1 ==> +3914019-03-19T16:42:44.377406+01:00[Europe/Rome]
futureDay2 ==> +3914019-03-19T15:42:44.377406+01:00[Europe/Rome]
Конечно, этого не происходит при любом добавленном количестве дней.
И это не просто проблема представления: если вы преобразуете оба значения в миллисекунды из Epoch, эти два значения на самом деле будут двумя разными моментами, то есть разными длинными значениями.
Подробнее здесь: https://stackoverflow.com/questions/787 ... s-the-hour
Мобильная версия