Frage

Ich habe ein Datum auf dem doppelten Wert umgewandelt und gespeichert in der Datenbank. Jetzt will ich vergleichen, wenn currentDate > myDataBaseDate + 8 Stunden das heißt, ich möchte 8 Stunden erhalten haben myDataBaseDate. Ich bin Umwandlung Datum in doppelte Werte. Also wie bekomme ich 8 Stunden später aus meiner Datenbank gespeichert Datum. Wie kann ich vergleichen

if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)
War es hilfreich?

Lösung

Ich bin nicht ganz sicher, was Sie versuchen zu tun, aber Sie können ein NSDate Objekt erstellen, indem Sie das Hinzufügen Zeit in Sekunden zu einem anderen NSDate mit:

- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds

// zB. 8 Stunden aktuelle Zeit hinzuzufügen:

NSDate *mydate = [NSDate date];
NSTimeInterval secondsInEightHours = 8 * 60 * 60;
NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];

Andere Tipps

Seit iOS 8 gibt es die bequemere dateByAddingUnit:

//add 8 hours
let calendar = NSCalendar.autoupdatingCurrentCalendar()
newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil)

Sie können einfach verwenden:

NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]];

Sie können einfach hinzufügen 8 * 3600 zu Ihrem Datenbank-Wert (unter der Annahme, dass die konvertierten doppelte Wert repräsentiert Sekunden).

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];

Swift 3.X Einfache Bedienung

let calendar = NSCalendar.autoupdatingCurrent
let newDate = calendar.date(byAdding: .hour, value: 8, to: Date())
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top