我有一个带有.docx模板的自定义内容类型的库。
我有一个' StartDate'和' EndDate'内容类型中的字段,映射到.docx模板中的快速部分。
当我在项目属性中更改这两个字段的值时,它也会更新文档中的值(因为它应该是)。
问题
文档中的值总是休息一天。
例如,如果我将日期设置为2016年4月15日,则会在文档中显示14/04/2016。
我怎样才能使它们平等?
在SharePoint和本地计算机上,时区和所有内容似乎都很好。
答案 0 :(得分:1)
我认为此问题是由SharePoint存储日期和时间值的方式引起的。来自SharePoint MSDN article on Converting Date and Time Values:
Microsoft SharePoint Foundation以协调世界时(UTC)格式存储日期和时间值,并且对象模型成员返回的几乎所有日期和时间值均采用UTC格式。
因此,当您在本地时间输入SharePoint的日期和时间时,SharePoint会以协调世界时(UTC)格式存储该信息。但是当Word中的映射内容控件检索日期/时间值时,它会收到与您的本地日期和时间无关的UTC等效值(当在自己的用户界面中显示该信息时,SharePoint本身会自动将日期和时间值转换为您当地的时间)
我认为解决此问题的最佳方法是创建未显示的计算字段。计算字段将从内容类型中的“StartDate”和“EndDate”字段中获取输入日期/时间值,并针对您的本地UTC偏移量进行更正。然后,您可以将更正后的计算值映射到Word文档中的“快速部件”。