NSDate dateFromString, как проанализировать «вокруг» UTC, GMT и локали пользователя?

Я анализирую некоторые значения из файла XML. Eсть@"25-12-2010'T'23:40:00"строка со временем и датой, и есть строка со смещением по Гринвичу, например @ "+ 0200". Таким образом, вышеуказанное время - 25. декабря 23:40:00 в часовом поясе +0200 по Гринвичу. (или 21:40 UTC) У меня много таких дат с разными смещениями по Гринвичу. Я должен отображать эти даты, как они есть, то есть они не должны быть изменены, чтобы соответствовать языку пользователя. Поэтому, если время 1: 22:45 +0500, то это то, что я должен показать пользователю, даже если пользователь находится в другом часовом поясе.

У меня всяческие проблемы с отображением, вычислением и анализом этих строк.

Если я использую dateFormatter иdateFromString пользовательская информация о GMT будет включена в итоговыйNSDate Это означает, что вышеупомянутое будет сохранено как 23:40:00 +0100 по Гринвичу, потому что это настройки моего телефона и, возможно, 23:40:00 -0400 для пользователя с телефона в Нью-Йорке.

Когда я впоследствии делаю вычитание, сложение и сравнение между этими датами, я должен сохранять смещение по Гринвичу, и все становится хуже, если телефон переключает настройки локали, с момента, когда дата была проанализирована, до даты, когда она отображается ...

Есть ли способ для меня, чтобы извлечь эту дату из строки как UTC, а затем сохранить его как интервал вместо фактической (зависящей от часового пояса) даты. Я знаю, что именно так даты всегда сохраняются внутри. Но я не могу понять, как это сделать с отдельной строкой GMT и с учетом языкового стандарта пользователей.

ура

Ответы на вопрос(2)

Ваш ответ на вопрос