Конвертировать миллисекунды в NSDate - PullRequest
10 голосов
/ 30 апреля 2010

У меня есть это "1273636800000", и я хочу преобразовать его в этот формат "Ср 3 марта 2010 00:00:00 GMT-0500 (EST)"

Мне нужно преобразовать эти миллисекунды в формат NSDate.

Я пробовал это

NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000];

и

NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000];

и

NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000];

Но я не могу заставить его работать, у кого-то была похожая проблема и нашли решение

Ответы [ 3 ]

29 голосов
/ 30 апреля 2010

Эти функции (dateWithTimeIntervalSince1970, dateWithTimeIntervalSinceReferenceDate, dateWithTimeIntervalSinceNow) принимают параметр в секундах.

NSDate *date = [NSDate dateWithTimeIntervalSince1970:(ms / 1000.0)];

Вы должны пройти 1273636800.000

NSDate *date = [NSDate dateWithTimeIntervalSince1970:(1273636800 / 1000.0)];
5 голосов
/ 06 августа 2010

Разделите на 1000, чтобы получить миллисекунды в секундах, это то, что вы хотите.

4 голосов
/ 26 января 2016

Простая однострочная функция Swift 2:

func dateFromMilliseconds(ms: NSNumber) -> NSDate {
    return NSDate(timeIntervalSince1970:Double(ms) / 1000.0)
}
...