2017-01-11 3 views
0

私の入力NSString2017-01-11 5:33:55 am +0000です。そして、私のコードは次のとおりです。am/pmとタイムゾーンでNSStringをNSDateに変換する

date = @"2017-01-11 5:33:55 am +0000"; 
    uploadFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss a Z"; 
    [uploadFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 
    NSDate *theDate = [uploadFormatter dateFromString:date]; 

しかし、返さNSDateは関係なく、入力時間の常に2017-01-11 0:33:55 UTCです。入力が2017-01-11 3:33:55 am +0000であれば、結果も同じです。

誰も以前にこの問題に遭遇しましたか?任意のアイデアが評価されます。

+3

'HH'は24時間形式で4時間ですが、午前/午後を持っているので、それは明らかに12時間形式です。だから、少なくとも 'hh'で' HH'を変更してください。 – Larme

+0

@Larmeそれは問題を正確に解決します。私はそれを受け入れることができるように答えとしてコメントを投稿するのを助けることができますか?どうもありがとう!それは私の人生を救う。 –

答えて

1

HHは24時間形式で4時間ですが、 "am"/"pm"を使用しているため、明らかに12h形式です。 dateFormatHHhhと変更してください。

iOS7 +のフォーマットがhereの場合は、 hereのドキュメントをご利用ください。

0

使用この日付フォーマット:

[uploadFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a Z"]; 
関連する問題