Ik ben op zoek naar de huidige uren en minuten te krijgen op de iPhone van een gebruiker voor weergave in een app die niet op de statusbalk vertoont. Is er een eenvoudige manier om dit te doen?
Halen huidige lokale tijd op de iPhone?
// get current date/time
NSDate *today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSString *currentTime = [dateFormatter stringFromDate:today];
[dateFormatter release];
NSLog(@"User's current time in their preference format:%@",currentTime);
-(void)currentTime
{
//Get current time
NSDate* now = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *dateComponents = [gregorian components:(NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond) fromDate:now];
NSInteger hour = [dateComponents hour];
NSString *am_OR_pm=@"AM";
if (hour>12)
{
hour=hour%12;
am_OR_pm = @"PM";
}
NSInteger minute = [dateComponents minute];
NSInteger second = [dateComponents second];
[gregorian release];
NSLog(@"Current Time %@",[NSString stringWithFormat:@"%02ld:%02ld:%02ld %@", (long)hour, (long)minute, (long)second,am_OR_pm]);
}
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *currentTime = [dateFormatter stringFromDate:[NSDate date]]
[dateFormatter release]; dateFormatter = nil;
Ik vind dat je dit proberen. De TimeZone is belangrijk.
Zie deze soortgelijke vraag een antwoord. Je moet om het te veranderen om uw datumnotatie.
[[NSDate date] timeIntervalSince1970]; als u op zoek bent naar tijdsintervallen te berekenen, bent u beter af met behulp van CACurrentMediaTime
double currentTime = CACurrentMediaTime();
CFAbsoluteTimeGetCurrent ()
Absolute tijd wordt gemeten in seconden ten opzichte van de absolute peildatum van 1 januari 2001 00:00:00 GMT. Een positieve waarde geeft een tijdstip na de referentiedatum, een negatieve waarde geeft een datum voor het. Bijvoorbeeld, de absolute tijd -32940326 is gelijk aan 16 december 1999 op 17:54:34. Herhaalde oproepen om deze functie te garanderen niet monotoon stijgend resultaten. De systeemtijd kan te wijten zijn om de synchronisatie met externe tijd referenties of afnemen als gevolg van een expliciete gebruiker verandering van de klok.
Een kortere aanpak
NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
dateStyle:NSDateFormatterNoStyle
timeStyle:NSDateFormatterShortStyle];













