Дата - это момент времени. Обнуление некоторых его компонентов может работать только в сочетании с указанным часовым поясом, календарем.
То, что вы сделали, выглядит правильно. Но проблема в том, как ваш отладчик показывает дату. Он снова должен использовать определенный часовой пояс, календарь, который, вероятно, соответствует тому, что у вас есть на вашем компьютере (или устройстве).
Для большей ясности предположим, что я использую UTC, но отлаживаю это в -1. Тогда, если я создам дату 15.4.2019 at 0:00:00
, но отладлю ее, я увижу 14.4.2019 at 23:00:00
.
Так что Date
само по себе, скажем так, не читаемо человеком. Ниже я полагаю, что значение с плавающей запятой двойной точности отсчитывается от EPOCH 1.1.1970 UTC. Вам необходимо применить календарь и часовой пояс к экземпляру Date
и использовать средство форматирования, чтобы преобразовать его во что-то, что вы можете прочитать (как в 14.4.2019 at 23:00:00
для чтения). И если календари или часовые пояса не совпадают, то результаты не будут одинаковыми. Потому что в какой-то момент 14.4.2019 at 23:00:00
и 15.4.2019 at 0:00:00
были точно в один и тот же момент для 2 разных мест на земле.