Sitecore DateField的DateTime属性显示错误的日期 [英] Sitecore DateField's DateTime property shows wrong date

查看:54
本文介绍了Sitecore DateField的DateTime属性显示错误的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的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为您完成肮脏的工作。



https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/utc/datetime/datetime_best_practices

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.

https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/utc/datetime/datetime_best_practices

这篇关于Sitecore DateField的DateTime属性显示错误的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆