在我的 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 为您做“肮脏的工作”。
关于c# - Sitecore DateField 的 DateTime 属性显示错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32537840/