Подтвердить что ты не робот

Как добавить часы в NSDate?

У меня есть дата, преобразованная в двойное значение и сохраненная в базе данных. Теперь я хочу сравнить, если currentDate > myDataBaseDate + 8 часов, т.е. Я хочу добавить 8 часов в myDataBaseDate. Я конвертирую дату в двойные значения. Итак, как я могу получить 8 часов позже из даты сохранения базы данных. Как сравнить

if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)
4b9b3361

Ответ 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())