6 Stimmen

NSDate für "Beginn der nächsten Stunde"

Ich würde gerne einen Countdown bis zur nächsten vollen Stunde erstellen. Es ist ziemlich einfach, einen Countdown für eine bestimmte Zeit zu erstellen, z. B:

NSDate *midnight = [NSDate dateWithNaturalLanguageString:@"midnight tomorrow"]; 

Wie definiere ich ein NSDate für "den Beginn jeder Stunde"?

Danke!

EDIT: Das ist, was ich derzeit habe. Ich habe Probleme, die Lösungen in meinen Code zu integrieren. Jede Hilfe wäre sehr zu schätzen :)

-(void)updateLabel {
NSDate *now = [NSDate date];

NSDate *midnight = [NSDate dateWithNaturalLanguageString:@"midnight tomorrow"]; 

//num of seconds between mid and now
NSTimeInterval timeInt = [midnight timeIntervalSinceDate:now];
int hour = (int) timeInt/3600;
int min = ((int) timeInt % 3600) / 60;
int sec = (int) timeInt % 60;
countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, min,sec];
}

0voto

DigitalBrain_DEV Punkte 1053

Vielleicht kann dies hilfreich sein

@implementation NSDate (DB_Extension)

- (NSTimeInterval)db_secondsForNextHour {

NSDateFormatter *minutesFormatter = [[NSDateFormatter alloc] init];
[minutesFormatter setDateFormat:@"mm"];

NSDateFormatter *secondsFormatter = [[NSDateFormatter alloc] init];
[secondsFormatter setDateFormat:@"ss.SSS"];

NSTimeInterval secondsForNextHour = (60.0 - [[minutesFormatter stringFromDate:self] doubleValue])*60 - [[secondsFormatter stringFromDate:self] doubleValue];

return secondsForNextHour;

}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X