我有一个包含DateTime列字段的SharePoint 2013列表。 我使用Java的REST Web服务读取了列表项。 在REST调用中,它将日期从列表中显示的日期开始提前1天。
例如:列表日期显示为表格中的7/12/2014。 REST XML响应结果给出“2014-07-11T16:00:00Z”。
如何解决此问题?
答案 0 :(得分:2)
这种情况会发生,因为在SharePoint用户界面中,当您在没有时间的情况下设置日期字段时,它会假设您正在设置当地时间的dd-MM-yyyy 00:00:00。但在数据库中,它会尝试将日期调整为世界时。这就是你从REST服务中获得的东西。
如果您在浏览器中的LocaleId与保存日期时服务器上的相同,那么简单的javascript new Date("2014-07-11T16:00:00Z")
应返回正确的值。如果没有,那么您将不得不手动调整时区。区域设置可能会对您有所帮助。在SP 2013中,您还可以从REST Api访问它:
http://msdn.microsoft.com/en-us/library/office/jj246227(v=office.15).aspx