2012-01-10 11 views
0

NSDateFormatterとiOSに問題があります。しかし、私の脳は私の特定の状況のた​​めのソリューションにすべてのことを翻訳し、その情報を処理することができませんiOS 5 NSDateFormatterの中断?

http://www.cocoanetics.com/2011/12/ios-5-breaking-nsdateformatter/

:私は実際に認識し、ここに問題の説明を見つけました。私はあなたの仲間が私をここで助けてくれることを願っています:

iOS5で以下の作業を行う方法を教えてもらえますか?これは、正常に動作するために使用:

NSLocale *myLocale = [[NSLocale alloc] initWithLocaleIdentifier:@”en_GB”]; 
[inputFormatter setLocale: myLocale]; 
[myLocale release]; 
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"]; 
NSDate *formattedDate = [inputFormatter dateFromString: feedDateString]; 
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init]; 
[outputFormatter setDateFormat:@"EEEE d MMMM"]; 

私は[outputFormatter stringFromDateをログインすると、入力文字列が、それは私のコントロールを超えて、「火、2012年1月3日午後12時00分〇​​〇秒0100」 のようになります。私がnullになる

元のロケールは "en_US"でしたが、私はそれが助けになることを希望で変更しました。行き止まりのポストのようですまた、この記事で人々を助けるだろう

、:

NSDateFormatter on ios 5 - any other way to use?

答えて

0

フォーマットするために必要な入力文字列は「月、2012年2月13日午前0時00分00秒0100ではなかったです"実際には" 2012年3月13日00:00:00 +0100 " が表示されます。さて、私はNSLogging中に後続の空白が見えませんでした。 [アイロニー:多くのスペースと文字列の後に戻ってリターンする!]

そして何とか、私はそれを気にしなかった。 iOS5ははるかに厄介であり、そうである可能性があります。 次のようにだから私は事を解決:

NSString *trimmedString = [inputstring stringByTrimmingCharactersInSet: 
           [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

私は、これは同様にあなたの助けになることを願っています。

0

これを試してみてください:

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init]; 
[outputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"]; 
        
NSString *str = [outputFormatter stringFromDate:[NSDate date]]; 
/* 
    Do something with this string 
*/ 
[outputFormatter release]; 

あなたはまた、追加することで地域を追加することができますsetLocale NSDateFormatterのパラメータです。それはすべて私の愚かな自分のせいだった:あなたは、この上で過ごした脳の時間を持つのすべてに

NSLocale *myLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"]; 
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init]; 
[outputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"]; 
[outputFormatter setLocale: myLocale]; 
        
NSString *str = [outputFormatter stringFromDate:[NSDate date]]; 

/* 
    Do something with this string 
*/ 

[outputFormatter release]; 
[myLocale release]; 
+0

残念ながら、それは私の問題を解決しません。あなたの例では、[NSDate date]を使用します。その価値によってそれはうまく動作します。だから、明らかに、私は自分のinputFormatterをチェックする必要があります。 – Sjakelien