Objective-C NSDate - Как получить текущую дату из другого часового пояса - PullRequest
1 голос
/ 05 августа 2010

Я уже некоторое время просматривал документы Apple, но не нашел способа получить текущую дату из другого часового пояса.По сути, мне нужно получить текущую дату в центральном поясном времени США (CST).Я почти уверен, что это комбинация NSDate и NSDateFormatter путем установки часового пояса.Я уверен, что это простая задача, но я не смог найти лучший способ сделать это.

Есть что-то, чего я здесь не хватает?

1 Ответ

3 голосов
/ 05 августа 2010

Если вы хотите просто отобразить текущее время для данной зоны, вам нужно установить свойство timeZone NSDateFormatter:

[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];

Если вы хотите, чтобы объект NSDate содержал время из данной зоны, вам нужно установить часовой пояс по умолчанию перед извлечением этой даты:

NSDate* date = [NSDate date];
NSLog(@"%@", [date description]);

[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
NSDate* nDate = [NSDate date];
NSLog(@"%@", [nDate description]);

//output
2010-08-05 12:32:38 +0300
2010-08-05 04:32:38 -0500
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...