2

好奇为什么我不能从那里取回任何物品

HistoryManager.GetHistory(database, fromThisDate, toThisDate)

,我查看了 Sitecore 数据库,发现每条记录的“已创建”列包含不正确的日期时间。所有日期时间都比实际日期时间早了大约 6 小时。我检查了“项目”表,只是想看看是否所有的日期都已关闭,但这些日期是准确的。这是在我的本地环境中。任何关于为什么会这样和/或如何解决的想法都将不胜感激。

4

1 回答 1

3

历史表支持多个 Sitecore 实例的同步功能。例如,当您发布一个项目时,该事件会临时存储在历史表中,以便其他实例知道重建索引并清除缓存。

因此,以协调世界时(UTC)存储日期很重要,因为您的交付服务器可能存在于不同的时区。您可能会看到比格林威治标准时间晚 6 小时的美国中部时区的 UTC 日期。

修复方法是将 UTC 日期传递到GetHistory()方法中,如下所示:

HistoryManager.GetHistory(database, 
                          fromThisDate.ToUniversalTime(), 
                          toThisDate.ToUniversalTime());
于 2013-06-04T02:30:44.337 回答