Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS

Datum und Uhrzeit unter iOS

Frage:
Immer wenn ich meine App starte, soll das aktuelle Datum angezeigt werden. Wie mache ich das?

Antwort:
Möchte man das aktuelle Datum, oder die Uhrzeit, ermitteln, führt der Weg über die Klasse NSDate. Mit Hilfe eines NSDateFormatter-Objektes kann die Ausgabe anschließend den Anforderungen entsprechend formatiert werden.
NSDate*today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSString *currentTime = [dateFormatter stringFromDate:today];
NSLog(@"Die Uhrzeit: %@",currentTime);

[dateFormatter setDateFormat:@"dd.MM.yyyy"];
NSString *currentDate = [dateFormatter stringFromDate:today];
NSLog(@"Das Datum: %@",currentDate);

Soll die angezeigte Uhrzeit oder das Datum ständig aktualisiert werden ist allerdings ein wenig mehr Aufwand erforderlich. Die beschriebenen Anweisungen müssen immer wieder aufgerufen werden. Ein NSTimer kann diese Aufgabe übernehmen.
NSTimer* timer;

- (void)viewDidLoad
{
    [super viewDidLoad];

    timer = [NSTimer scheduledTimerWithTimeInterval:1
    target:self selector:@selector(timerTick)userInfo:nil
    repeats:YES];
}

- (void) timerTick
{
    NSDate *today = [NSDate date];
    NSDateFormatter *dateFormatter =[[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"HH:mm:ss"];
    NSString *currentTime = [dateFormatterstringFromDate:today];
    NSLog(@"%@",currentTime);

    [dateFormatter setDateFormat:@"dd.MM.yyyy"];
    NSString *currentDate = [dateFormatterstringFromDate:today];
    NSLog(@"%@",currentDate);
}