データベースへの日付/時間の値の保存

概要

データベースには UTC 日付/時間の値のみを保存する必要があります。

Sitecore バージョン 8.0 以降では、UTC 日付/時間の値のみをデータベースに保存する必要があります。既存の Sitecore データベースには従来の日付/時間の値が存在する可能性があり、UTC の日付/時間の値と従来の日付/時間の値を区別する必要があります。したがって、日付/時間の値の文字列では既存の形式に「Z」が追加されてUTC を示します (例: 「20131031T083552Z」)。 Sitecore.DateUtil クラスの日付/時間の値の解析と文字列への変換を行うメソッドは「Z」表記を正しく処理できるように更新されています。

Sitecore データベースは、日付/時間の値を文字列値以外でも格納します。datetime 列を含むテーブルがありますが、タイム ゾーンに関する情報は格納されていない場合があります。したがって、データベースから日付/時間の値を読み取るときは、データベース内のすべての日付を UTC として扱い、日付/時間の種類を明示的に UTC に設定する必要があります。

データベースから日付/時間の値を読み取る例は、次のとおりです。

DateTime startDate = reader.InnerReader.GetDateTime(13).SpecifyKind(DateTimeKind.Utc);