1

今年の週の日付を取得しようとしています。これは私のコードであり、計算されているランタイム値でもあります:

ここに画像の説明を入力

年が正しくないのはなぜですか?yw などの他のフォーマットも試してみましたが、すべて同じ結果が得られました。この問題は、YYYY-w を使用すると自動的に修正されますが、年が異なる方法で計算されるため、間違った月/日付になります。参考までに、これは私がYYYYで得たものです:

ここに画像の説明を入力

現在、日付 04-29 は、「yyyy」の場合の第 18 週の正しい日付です (ここを参照してください: http://www.epochconverter.com/date-and-time/weeknumbers-by-year.php ) が、年は"YYYY" が使用されている場合のみ正しい (日付が間違っている)。

それでどうしたの?

-------- 更新 1 ----------

回答の1つで提供されているソリューションを追加した後:

ここに画像の説明を入力

-------- 更新 2 ----------

したがって、私の日付 2000 は「年が定義されていません」と同じ値です (以前は 1970 年でした)。こちらをご覧ください: http://openradar.appspot.com/12358210

-------- 更新 3 ----------

システム情報 (これを複製しようとする人向け)。

XCode: バージョン 4.6.2 (4H1003) iOS: 6.1 OSX: 10.8.3

-------- 更新 4 ----------

iOS 5.1 では、これを使用すると異なる結果が得られます。

ここに画像の説明を入力

iOS 5.1 が NSDateFormatter で "w" をサポートしていないかのように。

4

3 に答える 3

0

これで試すことができますか

NSString *dateString = @"2013-18";

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-ww"];

NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date: %@",date);
于 2013-05-03T08:20:34.850 に答える