J'ai une date convertie en double valeur et enregistrée dans une base de données. Maintenant, je veux comparer si currentDate > myDataBaseDate + 8
heures c’est-à-dire si je veux avoir 8 heures ajoutées à myDataBaseDate. Je convertis la date en valeurs doubles. Alors, comment puis-je obtenir 8 heures plus tard à partir de la date de sauvegarde de ma base de données. Comment comparer
if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)
Je ne suis pas tout à fait sûr de ce que vous essayez de faire, mais vous pouvez créer un objet NSDate en ajoutant du temps en secondes à un autre NSDate en utilisant:
- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds
// par exemple. ajouter 8 heures à l'heure actuelle:
NSDate *mydate = [NSDate date];
NSTimeInterval secondsInEightHours = 8 * 60 * 60;
NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];
Depuis iOS 8, il existe une dateByAddingUnit
plus pratique:
//add 8 hours
let calendar = NSCalendar.autoupdatingCurrentCalendar()
newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil)
Vous pouvez simplement utiliser:
NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]];
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];
Vous pouvez simplement ajouter 8 * 3600 à la valeur de votre base de données (en supposant que votre double valeur convertie représente des secondes).