アクセスDateおよびDatetimeフィールド
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore.Data.Fields.DateFieldクラスを使って、型DateとDatetimeのテンプレートフィールドにアクセスできます。Sitecore.Data.Fields.DateField.Valueプロパティは、Sitecore(yyyyMMddTHHmmss)で使われるISO形式の文字列として日付と時刻を含みます。
!注.NET日付形式パターンの詳細については、http://msdn.microsoft.com/en-us/library/73ctwf33.aspxを参照してください。
ISO形式の値をSitecore.DateUtil.IsoDateToDateTimeメソッドを使ってSystem.DateTime構造に変換できます。例えば、Masterデータベースの*/Sitecore/Content/Home項目にあるDateTimeFieldというDateまたはDatetime*フィールドにアクセスするには、
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.DateField dateTimeField = home.Fields"datetimefield";
string dateTimeString = dateTimeField.Value;
DateTime dateTimeStruct = Sitecore.DateUtil.IsoDateToDateTime(dateTimeString);
あるいは、同じ値を表すSystem.DateTime構造を含むSitecore.Data.Fields.DateField.DateTimeプロパティにアクセスすることもできます。例えば、マスターデータベースの*/Sitecore/Content/Home項目にあるDateまたはDatetime*フィールドのDateTimeFieldをSystem.DateTime構造としてアクセスするには:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.DateField dateTimeField = home.Fields"datefield";
DateTime dateTimeStruct = dateTimeField.DateTime;
DateまたはDatetimeフィールドの値を更新するには、Sitecore.Data.Fields.DateField.ValueプロパティをISO形式の文字列に更新できます。Sitecore.DateUtil.ToIsoDateメソッドを使ってSystem.DateTime構造をISO形式に変換できます。例えば、マスターデータベースの*/Sitecore/Content/Home*項目にあるDatetimeフィールドの値DateTimeFieldの値を現在のシステム日付に更新するには:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");
Sitecore.Data.Fields.DateField dateTimeField = home.Fields"datetimefield";
if (dateTimeField != null) { home.Editing.BeginEdit(); dateTimeField.Value = Sitecore.DateUtil.ToIsoDate(DateTime.Now); home.Editing.EndEdit(); }
!注もしユーザーが型DateまたはDatetimeのフィールドの値を指定していなければ、Sitecore.Data.Fields.DateField.Valueプロパティは空文字列を含み、Sitecore.Data.Fields.DateField.DateTimeプロパティはSystem.DateTime.MinValueを含む。
!ヒントデフォルトでは、型Dateのフィールドには時間値がミッドナイト(深夜)が含まれます。