Как узнать местную дату и время? - PullRequest
0 голосов
/ 19 января 2012

Я использую NSDate, чтобы узнать текущее время и дату, но даёт дату и время в зависимости от времени по Гринвичу. Кто-нибудь может узнать, как узнать местное время?

Ответы [ 3 ]

1 голос
/ 24 мая 2013
[dateFormatter setTimeZone:systemTimeZone];

установить часовой пояс даты, используя средство форматирования даты указанным выше способом. Это будет работать. Преобразовать дату в строку, установить формат и часовой пояс и преобразовать обратно в дату.

1 голос
/ 19 января 2012

NSDate не знает часовых поясов. Он всегда хранит даты как абсолютные моменты времени по Гринвичу.

Используйте NSDateFormatter для получения локального (или любого другого часового пояса) представления.

См. Соответствующее руководство по программированию: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html

0 голосов
/ 19 января 2012

Привет, я нашел это с другого сайта

NSDate* sourceDate = [NSDate date];

NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];

NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:sourceDate];
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:sourceDate];
NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;

NSDate* destinationDate = [[[NSDate alloc] initWithTimeInterval:interval sinceDate:sourceDate] autorelease];

Ссылка на сайт здесь

...