У меня есть вопрос о работе со временем в Java, более конкретно в Android.
Я разрабатываю устройство, которое должно проверить, было ли выполнено обновление с удаленного сервера сегодня. Я делаю это, сравнивая время (в миллисекундах) в полночь прошлой ночью / этим утром с текущим временем в миллисекундах.
поэтому мой код выглядит следующим образом:
Calendar now = Calendar.getInstance();
long milliseconds = now.getTimeInMillis();
long since_midnight = milliseconds%(86400000);
long checkpoint = (milliseconds - since_midnight);
однако, когда я конвертирую переменную контрольной точки в дату, используя:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
last_logged_text=formatter.format(checkpoint);
Я получаю представление времени, соответствующее 1 часу утра.
Я понимаю, что это как-то связано с переходом на летнее время, но я не уверен, как обойти это.
Любая помощь с благодарностью.
Спасибо
Кев