wake-up-neo.com

Aktuelle Ortszeit auf dem iPhone abrufen?

Ich versuche, die aktuelle Stunde und Minute auf dem iPhone eines Benutzers zur Anzeige in einer App abzurufen, in der die Statusleiste nicht angezeigt wird. Gibt es eine einfache Möglichkeit, dies zu tun?

32
user21293
// 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);
112
mixolution
-(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 *[email protected]"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]);
}
13
Nitin Malguri
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, du solltest es versuchen. Die Zeitzone ist wichtig.

12
ZYiOS

Siehe diese ähnliche Frage für eine Antwort Sie müssen es in Ihr Datumsformat ändern.

[[NSDate date] timeIntervalSince1970];
10
Chris Ballance

wenn Sie Zeitintervalle berechnen möchten, verwenden Sie CACurrentMediaTime

double currentTime = CACurrentMediaTime();
6
Vinay Wadhwa

CFAbsoluteTimeGetCurrent ()

Die absolute Zeit wird in Sekunden relativ zum absoluten Referenzdatum vom 1. Januar 2001 um 00:00:00 GMT gemessen. Ein positiver Wert steht für ein Datum nach dem Referenzdatum, ein negativer Wert für ein Datum davor. Zum Beispiel entspricht die absolute Zeit -32940326 dem 16. Dezember 1999 um 17:54:34 Uhr. Wiederholte Aufrufe dieser Funktion garantieren keine monoton steigenden Ergebnisse. Die Systemzeit kann sich aufgrund der Synchronisierung mit externen Zeitreferenzen oder aufgrund einer expliziten Benutzeränderung der Uhr verringern.

0

Ein kürzerer Ansatz

NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
                                                dateStyle:NSDateFormatterNoStyle
                                                timeStyle:NSDateFormatterShortStyle];
0
Jim75