2011-06-18 18 views
3

私はNSDate形式に解析する必要がある "Fri、2011年6月17日19:20:51 PDT"という日付文字列を持っています。NSDate書式設定

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"EEE, d MM YYYY HH:mm:ss zzz"]; 
NSDate *date = [dateFormatter dateFromString:currentPubDate ]; 
[dateFormatter release]; 

コードは機能していないように見えますが、その理由はわかりません。私は問題を調べたが、フォーラムなどを検索して答えを見つけることができないようだ。私はそれがdateFormatterの問題だと信じています。あなたの助けをありがとう

答えて

4

setDateFormat文字列を間違って指定しました。これは、あなたがそれを指定している必要があります方法です。

[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"]; 

YYYY

は、いくつかの産業および商業用途のために使用される「ウィーク日」の形式で使用されています。 2011-W1-3は、Appleのドキュメントは、代わりに yyyyYYYYを使用することがよくある間違いであることに注意して、2011年

の最初の週の三日目に等しくなりYYYY-Www-DFixed Formats

4

MMをMMMに置き換えてみてください - 私は確認するのに便利ですが、通常 "M"または "MM"は数値の月を参照します。あなたが "Jun"を持っているのであなたの場合、あなたはMMMを試してみるべきです。

0
それはこのようになります

また、次のことが可能です。

NSDateFormatterはプロパティがあります。dateStyle & timeStyle

あなたは、NSDateFormatterNoStyleにをこれらを設定することができます、NSDateFormatterMediumStyleNSDateFormatterLongStyle、これらはあなたがきれいにフォーマットされた文字列を取得するためにstringFromDate:を使用することができます設定したらNSDateFormatterFullStyle

各スタイルのドキュメントページは、時間と日付を参照してください。

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html#//apple_ref/c/tdef/NSDateFormatterStyle

乾杯!