2016-11-29 2 views
0

Ich habe die folgende Zeichenfolge 2016-10-26T16:01:18.361Z und arbeitet mit dem Folowing Code:NSDateFormatter- dateFromString Rückkehr null, wenn Set AM/PM

formater = [[NSDateFormatter alloc] init]; 
[formater setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"]; 
[formater setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 

Aber mit dem gleichen string und die gleiche formater zurückkehrt Null, wenn die Einstellungen Systemtakt geändert in AM/PM

Welches Format sollte ich verwenden?

+0

Nicht verwandt, aber zitieren Sie nicht das 'Z' in Ihrer Formatzeichenfolge. Es sollte "@" JJJJ-MM-TT'T'HH: mm: ss.SSSZ "' sein. – rmaddy

+0

Immer noch fehlgeschlagen :( – Ricardo

+0

Deshalb habe ich gesagt, dass mein Kommentar nicht auf Ihr unmittelbares Problem bezogen war. Das wird gelöst, indem Sie das Gebietsschema des Formatierers auf 'en_US_POSIX' setzen. – rmaddy

Antwort

0

Wie @rmaddy sagte, dieser Code funktioniert gut.

formater = [[NSDateFormatter alloc] init]; 
[formater setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"]; 
[formater setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
[formater setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]]; 
Verwandte Themen