Преобразование времени из миллисекунд в удобочитаемую дату - PullRequest
0 голосов
/ 07 октября 2011

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

Может кто-нибудь подсказать мне, как этого добитьсяповедение?

спасибо.

Примечание: миллисекундное время, которое я получаю, соответствует времени UNIX.

Ответы [ 2 ]

6 голосов
/ 07 октября 2011

Используйте метод NSDate dateWithTimeIntervalSince1970:, разделив вашу метку времени на 1000.0.

NSDate* date = [NSDate dateWithTimeIntervalSince1970:timestamp / 1000.0];

. Для получения дополнительной информации о форматировании вы можете обратиться к этому вопросу .

1 голос
/ 07 октября 2011

Создайте объект NSDate с вашим интервалом, а затем используйте объект NSDateFormatter, чтобы превратить его в отображаемое значение, например так:

- (void)displayDate:(double)unixMilliseconds {
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:unixMilliseconds / 1000.];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterFullStyle];
    [dateFormatter setTimeStyle:NSDateFormatterLongStyle];
    [dateFormatter setLocale:[NSLocale currentLocale]];
    NSLog("The date is %@", [dateFormatter stringFromDate:date]);
    [dateFormatter release];
}

Очевидно, что вам следует выделить средство форматирования один раз и сохранить еговокруг, если вы делаете это много.

...