2009-11-02 3 views
0

Я создаю приложение. Я запускаю таймер обратного отсчета и экономя время в базе данных, преобразовывая время в значение с плавающей запятой (double). Предположим, что я запустил таймер в 14:00 и установил обратный отсчет на 3 часа. Через 1 час я выхожу из приложения и при повторном запуске я получаю время, хранящееся из базы данных. Подсчитайте разницу между сохраненным временем и текущим временем. Я восстанавливаю таймер в соответствии с этим, но что, если я выйду из приложения и изменим часовой пояс на что-то еще?Как конвертировать каждый часовой пояс в GMT +5.30?

Как я могу справиться с этим или как исправить определенный часовой пояс, чтобы даже пользователь менял часовой пояс, таймер всегда работает идеально?

ответ

4

Я не знаю iPhone SDK, но традиционным способом сделать это было бы найти время в UTC - часто выражается в терминах «миллисекунды с 1 января 1970 года» или что-то подобное.

Таким образом, часовой пояс устройства не имеет значения.

EDIT: Глядя на документы для NSDate, я думаю, что timeIntervalSince1970 - это то, что вы хотите. Это всегда должно быть в формате UTC.

Смежные вопросы