Sitecore DateField的DateTime属性显示错误的日期 [英] Sitecore DateField's DateTime property shows wrong date
问题描述
在我的Sitecore项目中,我使用 DateTime
(Sitecore的类型)字段作为 Item
的属性。我正在尝试通过以下代码获取此值:
var dateField =(DateField)item.Fields [ Date] ;
var itemDate = dateField.DateTime;
但是 itemDate
包含错误的日期。
让我们检查 dateField.Value
:它包含格式为yyyymmddThhmmss的正确日期。您可以在以下屏幕截图中看到:
如您所见, DateTime
的日期是9月13日,而 Value
的日期是9月14日。
此问题的原因是什么?如何从 DateField
作为 DateTime
获取正确的数据?
发生这种情况是因为Sitecore在内部将所有日期存储为UTC格式。如果您所在的时区与UTC有很大差异-您很可能会遇到这种情况。使用 Sitecore.DateUtil 使Sitecore为您完成肮脏的工作。
In my Sitecore project I use DateTime
(Sitecore's type) field as propery of an Item
. I'm trying to get this value by following code:
var dateField = (DateField)item.Fields["Date"];
var itemDate = dateField.DateTime;
But itemDate
contains wrong date.
Let's check dateField.Value
: it contains correct date in format: yyyymmddThhmmss. You can see in the following screenshot:
As you can see DateTime
's date is September 13, but Value
's date is September 14.
What reasons of this problem? How to get correct data from DateField
as DateTime
?
That happens because internally Sitecore stores all the dates in UTC format. If you timezone has big difference with UTC - you are likely to come into that situation. Use Sitecore.DateUtil to make Sitecore do "dirty job" for you.
这篇关于Sitecore DateField的DateTime属性显示错误的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!