2016-04-28 9 views
0

ich erfolgreich bin in NSDate von String Format dd-MM-yyyy HH:mm aber immer, wenn ich versuche, String im Format dd-MM-yyyy HH:mm:ss:ms es nichtKann bekommen Datetime von String nicht im Format dd-MM-yyyy HH: mm: ss: ms

funktioniert

Hier ist mein Code

NSString *time1 = @"28-04-2016 09:59"; 
    NSDateFormatter * formatter1 = [[NSDateFormatter alloc] init]; 
    [formatter1 setDateFormat:@"dd-MM-yyyy HH:mm"]; 
    NSDate *dateTime1 = [formatter1 dateFromString:time1]; 

    NSLog(@"time1 = %@",time1); 
    NSLog(@"dateTime1 = %@",dateTime1); 



    NSString *time2 = @"28-04-2016 09:59:23:5923"; 
    NSDateFormatter * formatter2 = [[NSDateFormatter alloc] init]; 
    [formatter2 setDateFormat:@"dd-MM-yyyy HH:mm:ss:ms"]; 
    NSDate *dateTime2 = [formatter2 dateFromString:time2]; 
    NSLog(@"time2 = %@",time2); 
    NSLog(@"dateTime2 = %@",dateTime2); 

Hier wird das Protokoll

2016-04-28 10:24:31.393 EarCrush[2370:43278] time1 = 28-04-2016 09:59 
2016-04-28 10:24:31.394 EarCrush[2370:43278] dateTime1 = 2016-04-28 02:59:00 +0000 
2016-04-28 10:24:31.394 EarCrush[2370:43278] time2 = 28-04-2016 09:59:23:5923 
2016-04-28 10:24:31.395 EarCrush[2370:43278] dateTime2 = (null) 

UPDATE Wenn ich das Format @"dd-MM-yyyy HH:mm:ss:SSSS" ich das Ergebnis bekam werden:

2016-04-28 10:50:56.281 EarCrush[3237:56438] dateTime2 = 2016-04-28 02:59:23 +0000 

die datetime2 ist nicht null aber die Millisekunde

jede Hilfe dankbar wäre toll, fehlt.

Antwort

2

Nach this Liste Sekundenbruchteile sind Kapital S

[formatter2 setDateFormat:@"dd-MM-yyyy HH:mm:ss:SSSS"]; 

Bedenken Sie, dass NSLog nicht die Sekundenbruchteile nicht angezeigt.
Um dies zu tun, müssen Sie das Datum zurück in String mit dem Datumsformatierer konvertieren.

+1

Beachten Sie, dass 'NSDateFormatter' (in meinem Test in einem OS X Spielplatz in Xcode 7.3.1) nur bis zu drei Nachkommastellen analysiert, unabhängig davon, wie viele' S' Sie verwenden. –

+0

@vadian Es tut mir wirklich leid wegen meiner Verwirrung. Ich habe meinen Beitrag aktualisiert. bitte sehen Sie es wieder –

+0

Ich aktualisierte die Antwort. – vadian

Verwandte Themen