2

「UTC」を使用してタイムゾーンを設定しています。

「システム設定->一般->地域形式」が米国の場合、日付は2013年です。ヨーロッパの場合、日付は2014年です。以下のコードを使用しています

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *dataTmp = [formatter dateFromString:[[[self.commManager.bolsaDic objectForKey:@"data"] objectAtIndex:0] objectForKey:@"TradeTimeUtc"]];

[formatter setDateFormat:@"dd-MM-YY HH:mm"];       
[formatter setTimeZone:[NSTimeZone systemTimeZone]];

誰もこの問題を抱えていましたか?

4

2 に答える 2

4

日付の書式設定または解析で YYYY を使用しないでください。今年はISOの年であり、何に触れても台無しになります。Apple に問い合わせてください。これが 1 月 1 日に iOS で DND バグが発生した原因です。

常に yyyy を使用します。

于 2013-01-04T15:24:06.620 に答える
1

日付形式の「YY」と関係があると思います。小文字の「yy」に変更してみてください。(理由を聞かないでください!)

編集:ああ、どうやら大文字のYは、現在の週が始まった年を返します。したがって、2014年1月1日で水曜日の場合、その週は2013年に始まりました。

于 2013-01-04T15:10:35.330 に答える