Abrufen von aktuellen lokalen Zeit auf dem iPhone?

stimmen
32

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?

Veröffentlicht am 19/02/2009 um 18:12
quelle vom benutzer
In anderen Sprachen...                            


7 antworten

stimmen
112
// 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);
Beantwortet am 23/10/2009 um 07:29
quelle vom benutzer

stimmen
13
-(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]);
}
Beantwortet am 14/08/2012 um 07:44
quelle vom benutzer

stimmen
12
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.

Beantwortet am 29/06/2011 um 04:23
quelle vom benutzer

stimmen
10

Sehen Sie diese ähnliche Frage eine Antwort. Sie haben es zu einem Datumsformat zu ändern.

[[NSDate date] timeIntervalSince1970];
Beantwortet am 19/02/2009 um 18:20
quelle vom benutzer

stimmen
6

wenn Sie schauen , Zeitintervalle zu berechnen, sind Sie besser dran mit CACurrentMediaTime

double currentTime = CACurrentMediaTime();
Beantwortet am 26/11/2012 um 13:13
quelle vom benutzer

stimmen
0

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.

Beantwortet am 05/04/2017 um 09:51
quelle vom benutzer

stimmen
0

Ein kürzerer Ansatz

NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
                                                dateStyle:NSDateFormatterNoStyle
                                                timeStyle:NSDateFormatterShortStyle];
Beantwortet am 23/10/2016 um 17:20
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more