Ich suche die aktuelle Stunde und Minute auf einem Benutzer iPhone für die Anzeige in einer App zu erhalten, die nicht auf die Statusleiste nicht angezeigt. Gibt es eine einfache Möglichkeit, dies zu tun?
Abrufen von aktuellen lokalen Zeit auf dem 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;
Ich denke, Sie sollten dies versuchen. Die Zeitzone ist wichtig.
Sehen Sie diese ähnliche Frage eine Antwort. Sie haben es zu einem Datumsformat zu ändern.
[[NSDate date] timeIntervalSince1970]; wenn Sie schauen , Zeitintervalle zu berechnen, sind Sie besser dran mit CACurrentMediaTime
double currentTime = CACurrentMediaTime();
CFAbsoluteTimeGetCurrent ()
Absolute Zeit in Sekunden relativ zum absoluten Referenzdatum 1. Januar 2001 00:00:00 GMT gemessen. Ein positiver Wert stellt einen Zeitpunkt nach dem Stichtag, ein negativer Wert ein Datum, bevor es darstellt. Zum Beispiel ist die absolute Zeit -32940326 entspricht 16. Dezember 1999 bei 17.54.34. Wiederholte Anrufe an diese Funktion übernehmen keine Garantie monoton steigende Ergebnisse. Die Systemzeit kann durch Abnahme mit externer Zeit Verweise auf Synchronisation oder aufgrund eines expliziten Benutzerwechsel der Uhr.
Ein kürzerer Ansatz
NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
dateStyle:NSDateFormatterNoStyle
timeStyle:NSDateFormatterShortStyle];













