Конвертировать эпоху в NSDate в cocoa/iPhone

У меня есть значение эпохи, например, 123456789, теперь я хочу преобразовать ее в NSDate в cocoa. Может ли кто-нибудь показать мне?

спасибо

Ответ 1

Documentation - ваш друг!

NSDate* date = [NSDate dateWithTimeIntervalSince1970:123456789];

Ответ 2

Так как это большой успех, он будет способствовать. Обратите внимание, что просто преобразование в NSDate приведет его в часовой пояс UTC. Затем вам нужно перейти на ваш часовой пояс, если вы хотите отобразить его пользователю, Преобразовать эпоху в NSDate с хорошим часовым поясом с помощью Objective c:

// Convert NSString to NSTimeInterval
NSTimeInterval seconds = [epochTime doubleValue];

// (Step 1) Create NSDate object
NSDate *epochNSDate = [[NSDate alloc] initWithTimeIntervalSince1970:seconds];
NSLog (@"Epoch time %@ equates to UTC %@", epochTime, epochNSDate);

// (Step 2) Use NSDateFormatter to display epochNSDate in local time zone
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
NSLog (@"Epoch time %@ equates to %@", epochTime, [dateFormatter stringFromDate:epochNSDate]);

// (Just for interest) Display your current time zone
NSString *currentTimeZone = [[dateFormatter timeZone] abbreviation];
NSLog (@"(Your local time zone is: %@)", currentTimeZone);