2013-11-20 8 views
4

Я разрабатываю приложение iOS 5.0+ с последним SDK.Получить [NSDate date] с UTC время

У меня есть этот код, чтобы получить дату в виде строки:

NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"ddMMyyyy HH:mm"]; 
NSDate* now = [NSDate date]; 
NSString* dateAsString = [formatter stringFromDate:now]; 

вар now является 2013-11-20 10:59:21 CET и dateAsString20112013 10:59 это, но мне нужно, чтобы получить эту дату со временем UTC. Здесь, в Испании, я думаю, -1 час.

Как я могу получить [NSDate date] с UTC?

+0

я не сделал, но плз заглянуть в часовой пояс и локаль –

+1

Вы * есть * время UTC в Объект NSDate. Если вы потрудились искать вообще, вы обнаружите, что NSDateFormatter принимает локальный часовой пояс, если вы не установите его в UTC. –

+1

Всегда трудно найти дубликат, если захотите, но этот вопрос возникает еженедельно; ежедневно в определенное время года. –

ответ

19

Использование NSTimeZone:

NSDateFormatter *formatter = [NSDateFormatter new]; 
[formatter setDateFormat:@"ddMMyyyy HH:mm"]; 

// Add this part to your code 
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; 
[formatter setTimeZone:timeZone]; 

NSDate *now = [NSDate date]; 
NSString *dateAsString = [formatter stringFromDate:now]; 
2

Вы можете добавить часовой пояс с даты форматировщиком в

NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; 
[formatter setTimeZone:timeZone]; 
Смежные вопросы