2017-09-28 15 views
0
NSDate

NSStringのNSDate

結果にNSStringの変換に失敗

に(+タイムゾーン):日付=ゼロ。

(*注:日付は、アプリケーションの購入時の領収書でから受け取る)

NSString * date_string = @"2017-09-24 11:20:21 Etc/GMT"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
NSDate *date = [dateFormatter dateFromString:date_string]; 
NSLog(@"date %@",date); 
+0

「(文字列はタイムゾーンが含まれています)」 - まだあなたのフォーマットは、あなたがタイムゾーン項目の日付と時刻の形式のドキュメントを見ている時間帯のために何が含まれていませんか?あなたの文字列には本当に "Etc /"がありますか?ちょうど驚くようです。 – CRD

+0

@CRD「Etc/GMT」は有効なタイムゾーンです。 – vadian

+0

@vadian - ありがとう、ちょうど何かを学んだ。 – CRD

答えて

1

これを試してみてください。..

NSString * date_string = @"2017-09-24 11:20:21 Etc/GMT"; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss VV"]; 
    NSDate *date = [dateFormatter dateFromString:date_string]; 
    NSLog(@"date %@",date); 
+0

はい、あなたは正しいです、その作業は非常に√ありがとう –

1

問題は、あなたがどのように日付フォーマッタを語っていないことです日付の最後の面白い文字列、すなわちEtc/GMTを処理します。フォーマットの最後にはtime zone specifierが必要です。 VVは、トリックを行う可能性がある、すなわち

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss VV"]; 
関連する問題