Yur*_*hov 3 c# datetime sitecore
在我的Sitecore项目中,我使用DateTime(Sitecore的类型)字段作为一个Item.我试图通过以下代码获得此值:
var dateField = (DateField)item.Fields["Date"];
var itemDate = dateField.DateTime;
Run Code Online (Sandbox Code Playgroud)
但itemDate包含错误的日期.我们来检查dateField.Value:它包含格式正确的日期:yyyymmddThhmmss.您可以在以下屏幕截图中看到:
你可以看到DateTime的日期是9月13日,但是Value日期是9月14日.
这个问题有什么原因?如何从得到正确的数据DateField作为DateTime?
我找到了如何从DateFieldas获取正确数据的解决方案DateTime:
var dateField = (DateField)item.Fields["Date"];
var itemDate = Sitecore.DateUtil.IsoDateToDateTime(dateField.Value);
Run Code Online (Sandbox Code Playgroud)
这是因为内部Sitecore以UTC格式存储所有日期.如果你的时区与UTC有很大差异 - 你可能会遇到这种情况.使用Sitecore.DateUtil让Sitecore为您做"肮脏的工作".
| 归档时间: |
|
| 查看次数: |
4694 次 |
| 最近记录: |