Sitecore 8 になると Date フィールドの値の持ち方が変わります。
Sitecore 7 以前はこうです。
この Raw 値はこうです。
Raw 値と表示が同じになってますね。
これが Sitecore 8 になるとこうなります。
この Raw 値はこうです。
なんと、Raw 値は UTC になっていて、表示が変換されてます!
よって、いつものように日付の値を取ると UTC のデータが取得されてしまうので、変換が必要になります。
// 日付の値取得
DateField dateField = item.Fields["__Updated"];
// UTC で取得してしまう
DateTime utcDate = dateField.DateTime;
// 変換
DateTime jpDate = utcDate.ToLocalTime();
これは Sitecore 7 からのアップグレード時には注意がかなり必要ですね。
ちなみに、Raw 値の最後の「Z」を削除してみました。
そしたら、Raw 値と表示が同じになりました。
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。