使用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();

}

测试输出结果:

结论:

  1. 使用CSOM API查询 可能返回Utc时间也可能返回Local时间
  2. 使用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如何处理时区问题的更多相关文章

  1. SharePoint API测试系列——Records.BypassLocks测试

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对于SharePoint中已经是Record的Item,我们想要修改他的属性,这在UI界面是无法完 ...

  2. SharePoint API测试系列——Manage SharePoint Site Policy & Expiration Email with CSOM API

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对CSOM(Not SSOM) Site Policy & Expiration Emai ...

  3. SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对Recorded Item动态调用OM Methods进行测试,界面如下: 输入Site的URL ...

  4. **关于PHP如何定义一个空对象(REST API如何处理空对象和空数组)

    在写接口的过程当中,手机端有需求说不让返回json数组,要返回一个对象. 那么我们可以怎么做呢? 其实很简单,强制转换即可. 声明空对象: $empty_object=(object)array(); ...

  5. 在 SharePoint 2013 中选择正确的 API 集

    决定使用哪个 API 集的因素   您可以在多个 API 集中选择一个来访问 SharePoint 2013 平台.您使用哪一个 API 集取决于以下因素: 应用程序的类型. 可能的类型包括但不限于以 ...

  6. 使用ExceptionHandlingScope进行高效的SharePoint CSOM编程

    异常处理 在我们使用SharePoint API的时候,获取某些对象的时候,可能会出异常,那么CSOM如何处理这种情况呢. 我们在获取某个List的时候,代码如下: using (ClientCont ...

  7. SharePoint 2013 日期和时间字段格式设置

    前言 最近碰到一个需求,用户希望修改日期和时间字段的格式,因为自己的环境是英文的,默认的时间格式是[月/日/年]这样的格式,我也是碰到这个问题才知道,这是美式的时间格式,然而用户希望变成英式的时间格式 ...

  8. SharePoint Claim base authentication EnsureUser 不带claim(i:0#.w|)user Failed

    环境信息: 带有Form base authentication(FBA).Active Directory Federation Services(ADFS).以及windows Authentic ...

  9. sharepoint关键位置

    GAC:C:\Windows\assembly,也就是部署的位置: ISAPI位置,SharePoint API:C:\Program Files\Common Files\microsoft sha ...

随机推荐

  1. nginx环境下配置nagios-关于start_perl_cgi.sh

    >/dev/ rm $dir/logs/perl-fcgi.sock >/dev/ echo  }    start ()  {  rm $dir/now_start_perl_fcgi. ...

  2. 去掉DLL can move

    1.OptionalHeader.DllCharacteristics = wNewDllCharacteristics; 用CFF打开,如果存在DLL can move这个选项,去掉即可 2.Rel ...

  3. spark hive 结合处理 把多行变成多列

    原数据格式 : gid       id      score a1        1       90 a1        2      80 a1       3      79 a1       ...

  4. 《机器学习实战》学习笔记——第13章 PCA

    1. 降维技术 1.1 降维的必要性 1. 多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯.2. 高维空间本身具有稀疏性.一维正态分布有68%的值落于正负 ...

  5. ios NSThred多线程简单使用

    关于NSThred开启多线程的方法 - (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg [self perfor ...

  6. ZT 第一范式,第二范式,第三范式

    第一范式,第二范式,第三范式 Posted on 2012-05-09 16:30 GISerYang 阅读(6472) 评论(0) 编辑 收藏 第一范式 存在非主属性对码的部分依赖关系 R(A,B, ...

  7. Train Problem I hdu 1022(栈)

    http://acm.split.hdu.edu.cn/showproblem.php?pid=1022 题意:给出火车的进站与出站顺序,判断是否可以按照给出的出站顺序出站. #include < ...

  8. SAP 打开账期

    1.先OB52修改账期: 如下界面开得公司9000下面 7.8月份的账期 2.mmpv 关闭上两个账期 3.mmrv 查看现在账期情况

  9. freemarker 数字格式化函数

    ${num?string('0.00')} 如果小数点后不足两位,用 0 代替 ${num?string('#.##')} 如果小数点后多余两位,就只保留两位,否则输出实际值 输出为:1239765. ...

  10. coreseek实战(四):php接口的使用,完善php脚本代码

    coreseek实战(四):php接口的使用,完善php脚本代码 在上一篇文章 coreseeek实战(三)中,已经能够正常搜索到结果,这篇文章主要是把 index.php 文件代码写得相对完整一点点 ...