SITECORE MANIA 開発者向け技術ブログ

コードサンプル

新藤

新藤

Sitecore 8 の日付型に注意!!

Sitecore 8 になると Date フィールドの値の持ち方が変わります。

Sitecore 7 以前はこうです。

7.2 Date フィールド

この Raw 値はこうです。

7.2 Date フィールド Row 値

Raw 値と表示が同じになってますね。

これが Sitecore 8 になるとこうなります。

8.1 Date フィールド

この Raw 値はこうです。

8.1 Date フィールド Row 値

なんと、Raw 値は UTC になっていて、表示が変換されてます!
よって、いつものように日付の値を取ると UTC のデータが取得されてしまうので、変換が必要になります。

// 日付の値取得
DateField dateField = item.Fields["__Updated"];
// UTC で取得してしまう
DateTime utcDate = dateField.DateTime;
// 変換
DateTime jpDate = utcDate.ToLocalTime();

これは Sitecore 7 からのアップグレード時には注意がかなり必要ですね。

ちなみに、Raw 値の最後の「Z」を削除してみました。

8.1 Date フィールド Row 値「Z」抜き

そしたら、Raw 値と表示が同じになりました。

8.1 Date フィールド「Z」抜き



※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス