何故ズレる...

surfweather_01.png

タイムゾーンでずっぽりハマってました。

日付ピッカーで「MZDayPicker」っての使ってるのですが、これローカルタイムで(例えば日本だけ)で使う分には問題ないのですが、今回のアプリもワールドワイドに作ってるので、日付の計算を全てUTCを基準にするようコードを変更しました。
で、日付の計算は何度トレースしてもバッチリと合ってる。にもかかわらずタイムゾーンを変更すると表示だけが1日ズレる場所がある。
(具体的にはGMT+12:00より時差が大きくなるとズレる)

どうにもこうにも昨晩考えてダメで諦め、今朝も4時からいろいろトレースして調べてみてもダメで、いい加減もう自分で作り替えちゃおうかと思ったらひらめきました。
というか、ハタと気がつきました。

そう、表示だけがが答えでした…

まさに、日付をフォーマットして(画面の日と曜日んとこ)るコードで以下の1行を追加し忘れてただけ。

[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

(´Д`) =3 ハァ…
この1行で多分5時間はロスした…

ちなみに、タイムゾーンの変更ってシュミレータでは出来ないので、実機でいろいろ設定変えながらのテストになります。
こうゆうときに古い iPhone が大活躍です。
なんか iPhone の新しいのは大きくなるみたいですが、俺はこのテスト機で使ってる iPhone4s のサイズが一番好きかなぁ。