Я должен получить время в моей стране независимо от того, в каком часовом поясе находится пользователь или какое время он установил вручную в настройках устройства.
Приведенный ниже код работает, когда пользователь устанавливает разные часовой пояс, он правильно преобразует метку времени.
Но когда пользователь устанавливает время вручную, не меняя часовой пояс, то, поскольку 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