Android получает время в заданном часовом поясе, игнорируя текущее время устройстваAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android получает время в заданном часовом поясе, игнорируя текущее время устройства

Сообщение Anonymous »

Я должен получить время в моей стране независимо от того, в каком часовом поясе находится пользователь или какое время он установил вручную в настройках устройства.
Приведенный ниже код работает, когда пользователь устанавливает разные часовой пояс, он правильно преобразует метку времени.
Но когда пользователь устанавливает время вручную, не меняя часовой пояс, то, поскольку timeInMillis будет находиться в часовом поясе Азии/Баку, это просто возвращает ту же дату, а это не тот случай, когда я хочу.
fun convertTimeStampToAzerbaijanTimeStamp(timeInMillis: Long): Long? {
return try {
val date = Date(timeInMillis)
val dateFormatter = SimpleDateFormat(DATE_FORMAT_GENERAL, Locale.getDefault()).apply {
timeZone = TimeZone.getTimeZone(ZONE_ID_BAKU)
}
val formattedDate = dateFormatter.format(date)
(dateFormatter.parse(formattedDate) as Date).time
} catch (e: Exception) {
e.printStackTrace()
return null
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... rrent-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»