首页 > 代码库 > SharePoint API如何处理时区问题
SharePoint API如何处理时区问题
使用SharePoint API,我们经常会有时区转换的问题,SharePoint API 本身如何处理时区问题的呢?
本文主要以Modified字段为例测试相关API的行为。
CSOM API测试:
输出代码:
private static void ClientAPIOutputModified(ClientContext context, ListItem listItem){context.Load(listItem);context.ExecuteQuery();var modifiedTime = (DateTime) listItem["Modified"]; Console.WriteLine("Output Time: {0} , Kind: {1}", modifiedTime, modifiedTime.Kind);Console.WriteLine("\r\n");}
更新代码:
private static void ClientAPISetModified(ClientContext context, ListItem listItem, DateTime dateTime){Console.WriteLine("Set Time: {0} , Kind: {1}", dateTime, dateTime.Kind); listItem["Modified"] = dateTime;listItem.Update();context.ExecuteQuery();}
测试输出结果:
结论:
- 使用CSOM API查询 可能返回Utc时间也可能返回Local时间
- 使用CSOM API 更新,接受Utc时间和Local时间,Unspecified类型的时间被认为Local时间
Server API 测试:
输出代码:
private static void ServerAPIOutputModified(SPListItem listItem){var modifiedTime = (DateTime) listItem["Modified"]; Console.WriteLine("Time: {0} , Kind: {1}", modifiedTime, modifiedTime.Kind);Console.WriteLine("\r\n");}
更新代码:
private static void ServerAPISetModified(SPListItem listItem, DateTime dateTime){Console.WriteLine("Set Time: {0} , Kind: {1}", dateTime, dateTime.Kind);listItem["Modified"] = dateTime;listItem.Update();}
测试输出结果:
结论:
Server API查询只返回Local Time,更新也只接受LocalTime
使用SharePoint API的时候,处理好时区的问题,避免潜在的问题。
SharePoint API如何处理时区问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。