Как добавить часы в NSDate?
У меня есть дата, преобразованная в двойное значение и сохраненная в базе данных. Теперь я хочу сравнить, если currentDate > myDataBaseDate + 8
часов, т.е. Я хочу добавить 8 часов в myDataBaseDate. Я конвертирую дату в двойные значения. Итак, как я могу получить 8 часов позже из даты сохранения базы данных. Как сравнить
if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)
Ответы
Ответ 1
Я не совсем уверен, что вы пытаетесь сделать, но вы можете создать объект NSDate, добавив время в секундах в другой NSDate, используя:
- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds
//например. добавить 8 часов к текущему времени:
NSDate *mydate = [NSDate date];
NSTimeInterval secondsInEightHours = 8 * 60 * 60;
NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];
Ответ 2
Так как iOS 8 имеет более удобный dateByAddingUnit
:
//add 8 hours
let calendar = NSCalendar.autoupdatingCurrentCalendar()
newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil)
Ответ 3
Вы можете просто использовать:
NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]];
Ответ 4
Вы можете просто добавить 8 * 3600 к значению базы данных (при условии, что ваше преобразованное двойное значение представляет секунды).
Ответ 5
NSDate * startdate = datePicker.date;
NSTimeInterval secondsInOneHours = 1 * 60 * 60;
NSDate *dateOneHoursAhead = [startdate dateByAddingTimeInterval:secondsInOneHours];
[dateformate setDateFormat:@"d-MMM-yy HH:mm:ss"];
strDate = [dateformate stringFromDate:dateOneHoursAhead];
Ответ 6
Swift 3.X Простое использование
let calendar = NSCalendar.autoupdatingCurrent
let newDate = calendar.date(byAdding: .hour, value: 8, to: Date())