2017-02-17 2 views
-1

Mein Code:NSDateFormater stringFromDate zu dateFromString Rückkehr falsches Datum

NSString *dateStr = @"03-02-2017";//[responseObject objectForKey:@"event_date"]; 
    NSLog(@"'%@'", dateStr); 
    // Convert string to date object 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_HK"]; 
    [dateFormat setLocale:locale]; //To fix the format into something like: 10 Feb 2017, but not: 10 2月 2017 
    [dateFormat setDateFormat:@"dd-MM-YYYY"]; 
    NSDate *date = [dateFormat dateFromString:dateStr]; 
    NSLog(@"'%@'", date); 
    // Convert date object to desired output format 
    [dateFormat setDateFormat:@"dd MMM YYYY"]; 
    dateStr = [dateFormat stringFromDate:date]; 
    NSLog(@"'%@'", dateStr); 

Und in log gibt es

'03 -02-2017'

‚2016.12.24 16: 00.00 +0000'

'25 Dezember 2016'

Wer weiß, warum das passiert ist? Ich habe in Google gesucht, dass die meisten Fälle von Zeitzone verursacht werden. Ich bin mir aber ziemlich sicher, dass es nicht um timeZone geht, weil der Unterschied der Daten zu groß ist, aber ich kann die Wurzel dieses Problems nicht herausfinden.

Antwort

1

Ich denke, Ihr Dateformat ist falsch.

Es sollte

sein
dd-MM-yyyy 
Verwandte Themen