Android JodaTime dateTimeFormatter не всегда возвращает время в формате UTC

Моя проблема в том, что dateTimeFormatter не всегда дает тот результат, которого я ожидал. Иногда он возвращает UTC, а иногда и часовой пояс телефона. Приведенный ниже метод преобразует метку времени в формат ггММдд-ЧЧммсс.

static String convertTimestamp(double timestamp) {
    DateTime dateTime = new DateTime((long) timestamp*1000); // conversion to miliseconds
    DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyMMdd-HHmmss");
    return dateTimeFormatter.print(dateTime);
}

Я хочу постоянно получать UTC dateTime, как я могу этого добиться?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
21
1

Ответы 1

Изменена строка возврата на это, и теперь метод каждый раз возвращает правильную временную метку.

return dateTimeFormatter.withZoneUTC().print(dateTime);

Другие вопросы по теме