Дата Obj-C - Если раньше, сделайте это завтра
-
27-10-2019 - |
Вопрос
У меня есть объект NSDate, и мне нужно проверить, прошел ли он уже.Если это так, преобразуйте эту дату в завтрашнюю, но я не могу потерять при этом такую информацию, как часовой пояс.
Не могли бы вы, пожалуйста, мне помочь?
Решение
NSDate
не имеет информации о часовом поясе.Это всего лишь тонкий слой поверх количества секунд, прошедших с момента его создания.Вы можете использовать календарь и часовой пояс, чтобы превратить его в NSDateComponents
, поиграйте с датой там, а затем отформатируйте ее в новую NSDate
.
Другие советы
NSDate *date = ...;
if ([[NSDate date] timeIntervalSinceDate:date] > 0) {
date = [date dateByAddingTimeInterval:24*60*60];
}
Не связан с StackOverflow