2012-01-19 7 views
0

Я создаю приложение для iPhone iPhone, в котором используется центральный сервер. Какова наилучшая практика для работы с часовыми поясами разных клиентов?Лучшая практика для работы с разными часовыми поясами клиентов?

Я имею в виду, когда client1 посылает сообщение CLIENT2, сервер сохранить сообщение в его базе данных с отметкой времени в соответствии с серверами часового пояса, которые могут отличаться от client1 часового пояса и CLIENT2 часовой пояс ..
Так как Я управляю этим, поэтому, когда клиент2 получает сообщение, он будет знать, как преобразовать его в свой часовой пояс, или, может быть, сервер будет делать конвертирование ??

ответ

1

Сначала вам нужно сохранить время как UTC. Затем, когда отображается, вам нужно определить часовой пояс, и он добавит/минус.

+0

Таким образом, мне нужно определить часовой пояс в клиенте и использовать его для преобразования времени UTC, которое я получил с сервера по местному времени? Знаете ли вы, как это сделать в объективном c? – Eyal

+0

См. Документацию для NSDate, NSDateComponents и NSDateFormatter. // получить текущую дату/время NSDate * сегодня = [дата NSDate]; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; // отображение в формате 12HR/24HR (т. Е. 11:25 PM или 23:25) в соответствии с настройками пользователя [dateFormatter setTimeStyle: NSDateFormatterShortStyle]; NSString * currentTime = [dateFormatter stringFromDate: today]; [dateFormatter release]; NSLog (@ «Текущее время пользователя в формате предпочтений:% @», currentTime); – ysrb

+0

Что делать, если я использую timeIntervalSince1970 вместо UTC? будет ли это работать? Я не очень понимаю различия между этими двумя. – Eyal

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