Избегайте устаревших классов даты и времени
Никогда не используйте SimpleDateFormat
и Date
. Эти ужасные классы были вытеснены несколько лет назад современными java.time классами, определенными в JSR 310.
java.time
Похоже, вы получаете длинное целое число, представляющее количество целых секунд с начала отсчета эпохи первого момента 1970 UTC.
Если это так, проанализировать как Instant
.
Instant instant = Instant.ofEpochSeconds( seconds ) ;
Настройте UTC на ваш часовой пояс, применив ZoneId
, чтобы получить ZonedDateTime
.
ZoneId z = ZoneId.of( "Asia/Shanghai" ) ;
ZonedDateTime zdt = instant.atZone( z ) ;
Для более старых версий Android см. Проекты Threeten-Backport и ThreeTenABP.
Все это уже много раз освещалось. Переполнение стека поиска перед публикацией.