Как конвертировать NSDate в метку времени Unix iphone SDK?

(num + "").replace(/^([0-9]*)(\.[0-9]{1,2})?.*$/,"$1$2")
142
задан Suragch 8 June 2016 в 09:21
поделиться

2 ответа

Я считаю, что это селектор NSDate, который вы ищете:

- (NSTimeInterval)timeIntervalSince1970
268
ответ дан 23 November 2019 в 22:57
поделиться

Временная метка Unix - это количество секунд с 00:00:00 UTC 1 января 1970 года. Она представлена ​​типом time_t , который обычно представляет собой 32-битное значение со знаком. целочисленный тип (long или int).

iOS предоставляет - (NSTimeInterval) timeIntervalSince1970 для объектов NSDate, который возвращает количество секунд с 00:00:00 по Гринвичу 1 января 1970 года. NSTimeInterval - это тип с двойной плавающей запятой, поэтому вы получаете секунды и доли секунды.

Поскольку оба они имеют одну и ту же ссылку (полночь 1 января 1970 года по Гринвичу) и оба находятся в секундах, преобразование несложно, преобразуйте NSTimeInterval в time_t, округляя или усекая в зависимости от ваших потребностей:

time_t unixTime = (time_t) [[NSDate date] timeIntervalSince1970];
69
ответ дан 23 November 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: