Поскольку NSDate представляет собой «единую точку во времени, независимо от какой-либо конкретной календарной системы или часового пояса», нормально ли делать прямые вычисления с секундами, заданными его методами, такими как timeIntervalSince1970
?Можно ли работать с секундами, произведенными NSDate timeIntervalSince1970?
То есть операции, как добавление и вычитания из двух NSTimeInterval
(AKA double
) значений, а не с помощью dateByAddingTimeInterval:
или NSCalendar
метода, как - (nullable NSDate *)dateByAddingComponents:(NSDateComponents *)comps toDate:(NSDate *)date options:(NSCalendarOptions)opts
.
Какие проблемы будут иметь такие прямые вычисления?
В большинстве случаев может быть лучше использовать 'NSDateComponents', потому что, например, есть дневные дневники, если сегодня это 2PM, завтра на 2 вечера может не быть 24h, но 23 или 25. – Larme
Не видя каких-либо конкретных примеров того, что вы имеете в виду, всегда лучше использовать 'dateByAddingComponents'. Но могут быть случаи, когда работа с использованием секунд в порядке. Но, не зная, что вы действительно хотите сделать, единственной безопасной рекомендацией является использование «dateByAddingComponents». – rmaddy