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如何处理时区问题的更多相关文章
- SharePoint API测试系列——Records.BypassLocks测试
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对于SharePoint中已经是Record的Item,我们想要修改他的属性,这在UI界面是无法完 ...
- SharePoint API测试系列——Manage SharePoint Site Policy & Expiration Email with CSOM API
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对CSOM(Not SSOM) Site Policy & Expiration Emai ...
- SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对Recorded Item动态调用OM Methods进行测试,界面如下: 输入Site的URL ...
- **关于PHP如何定义一个空对象(REST API如何处理空对象和空数组)
在写接口的过程当中,手机端有需求说不让返回json数组,要返回一个对象. 那么我们可以怎么做呢? 其实很简单,强制转换即可. 声明空对象: $empty_object=(object)array(); ...
- 在 SharePoint 2013 中选择正确的 API 集
决定使用哪个 API 集的因素 您可以在多个 API 集中选择一个来访问 SharePoint 2013 平台.您使用哪一个 API 集取决于以下因素: 应用程序的类型. 可能的类型包括但不限于以 ...
- 使用ExceptionHandlingScope进行高效的SharePoint CSOM编程
异常处理 在我们使用SharePoint API的时候,获取某些对象的时候,可能会出异常,那么CSOM如何处理这种情况呢. 我们在获取某个List的时候,代码如下: using (ClientCont ...
- SharePoint 2013 日期和时间字段格式设置
前言 最近碰到一个需求,用户希望修改日期和时间字段的格式,因为自己的环境是英文的,默认的时间格式是[月/日/年]这样的格式,我也是碰到这个问题才知道,这是美式的时间格式,然而用户希望变成英式的时间格式 ...
- SharePoint Claim base authentication EnsureUser 不带claim(i:0#.w|)user Failed
环境信息: 带有Form base authentication(FBA).Active Directory Federation Services(ADFS).以及windows Authentic ...
- sharepoint关键位置
GAC:C:\Windows\assembly,也就是部署的位置: ISAPI位置,SharePoint API:C:\Program Files\Common Files\microsoft sha ...
随机推荐
- JAVA如何获取GUID
UUID.randomUUID().toString().toUpperCase().replaceAll("-", "")
- 在Hadoop-2.2.0集群上安装 Hive-0.13.1 with MySQL
fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3872872.html 软件环境 操作系统:Ubuntu14.04 JDK版本:jdk1 ...
- 安装mysql5.5时候的报错解决办法:
每次安装mysql5.5的时候总会报出一下错误: -- Could NOT find OpenSSL (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) ...
- AsyncTask下载网络图片的简单应用
1.imageTest package lpc.com.asynctaskdemo; import android.app.Activity; import android.graphics.Bitm ...
- poj 2536 Gopher II (二分匹配)
Gopher II Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6345 Accepted: 2599 Descrip ...
- python学习笔记-Day7
class Province: # 静态字段(类变量/属性) country = '中国' def __init__(self, name): # 普通字段(实例变量/属性) self.name = ...
- Linux如何学习
一:如何提问 1. 尝试自己解决 帮助文档 示例 2. 提问的要求 问题要详细(能被别人看懂, 一个知识点) 报错信息(截图) 二:1.Linux区分大小写 2.所有内容以文件形式保存,包括硬件(一切 ...
- jquery 让select元素中的某个option被选中
jquery 操作select 取值,设置选中值 博客分类: javaScript selecttextvalue取值设置选中值 比如 <select class="type" ...
- cocos2d-x之内存管理(4)
c++的内存管理一直以来都是个问题,也有多种实现方案,比如智能指针,使用引用计数等,cocos2d-x也需要涉及到内存的管理. cocos2d-x是如何管理内存的呢? cocos2d-x的内存管理主要 ...
- 关于java中线程休眠的另一种写法
编辑器加载中... 优先使用TimeUnit类中的sleep() TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的 ...