1

日付文字列の解析に奇妙な問題があります。次の形式の日付フォーマッターがあります。

yyyy-MM-dd HH:mm:ss.SSSSSSZZ

および日付文字列:

2012-11-09 10:47:01.999804+01

dateFromStringメソッドはnilを返しますが、日付文字列を次のように変更すると、次のようになります。

2012-11-09 10:47:01.989804+01

それは機能します...マイクロ秒の値にそのような制限がある理由と、上記のような日付を適切に解析するにはどうすればよいか、誰かが知っていますか?

正規表現を使用してそれを解析し、S​​SSSSS部分全体を切り取ることができますが、通常、日付を比較する必要があるため、日付が一致せず、さらに問題が発生します。

4

2 に答える 2

0

私はこれを行うのにぎこちない問題の終わりはありませんでした、最終的にそれを機能させましたが、ポイント秒を取り除き、次のようにフォーマットを使用しました

#define DATEFORMATSTRINGTIMEZONE @"yyyy-MM-dd HH:mm ZZZ"

あなたが言うように少し。プロジェクトにもう少し認める必要があります。これは日付を共有する非常に難しい方法であり、代わりにタイムゾーンに関するすべての頭痛の種を節約するエポックタイムを採用しました...贅沢があればそれを強くお勧めします着信データ形式を変更します。

なぜあなたが解析しないのかはわかりませんが、+ 01が+1ではなく、最後にZZZではなくZZに質問しますか?

于 2013-01-03T15:04:09.850 に答える
0

私はついにその問題を解決しました。

日付を正しく解析できるように、日付形式と日付文字列を変更してマイクロ秒を削除しています。次に、元の日付文字列から解析されたマイクロ秒を追加します。

于 2013-01-26T18:38:35.690 に答える