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

}

测试输出结果:

结论:

  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的时候,处理好时区的问题,避免潜在的问题。

时间: 2024-12-07 12:50:12

SharePoint API如何处理时区问题的相关文章

SharePoint API 中SPListItem的更新

使用SharePoint API来操作文件,列表对象时,都会用到更新的方法,SharePoint中在更新SPListItem有3个方法: Update Updates the database with changes that are made to the list item. (Overrides SPItem.Update().) SystemUpdate() Updates the database with changes made to the list item without

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

对CSOM(Not SSOM) Site Policy & Expiration Email的API的调用过程进行封装,做成tool,界面如下: 代码如下: using System; using System.Windows.Forms; using Microsoft.SharePoint.Client; using Microsoft.SharePoint.Client.InformationPolicy; namespace CSOMForm { public partial class

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

对于SharePoint中已经是Record的Item,我们想要修改他的属性,这在UI界面是无法完成的: 这时需要通过Records.BypassLocks API来完成.设计一个tool,利用Records.BypassLocks API来修改Recorded Items的属性(这里拿Title举例),界面如下: 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using Sy

SharePoint API测试系列——对Recorded Item进行OM Methods操作(委托的妙用)

对Recorded Item动态调用OM Methods进行测试,界面如下: 输入Site的URL,File在SharePoint中的相对URL,并选择OM操作类型,点击Test进行测试.代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.

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

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

Sharepoint前端 - Sharepoint站点开发 - 使用restfull API操作站点资源(转备查)

Sharepoint Team Site我们可以创建Site Pages,Site Assets,Document Library,List,Workflow等资源,基本的Web Parts和页面定制我们主要操作Site Pages和Site Assets,这些资源会存储在Sharepoint服务端,提供页面渲染,业务逻辑等代码.在应用的业务中,我们可以通过Restfull API对站点文档和数据表进行读取,展示来实现应用的需求. 一. Sharepoint List 1. 创建Sharepoi

使用ExceptionHandlingScope进行高效的SharePoint COM编程

异常处理 在我们使用SharePoint API的时候,获取某些对象的时候,可能会出异常,那么COM如何处理这种情况呢. 我们在获取某个List的时候,代码如下: using (ClientContext clientContext = new ClientContext("https://cnblogtest.sharepoint.com")) { var pasword = new SecureString(); "[email protected]#".ToC

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

环境信息: 带有Form base authentication(FBA).Active Directory Federation Services(ADFS).以及windows Authentication的混合认证的SharePoint环境. 问题具体描述: 在该环境中,调用EnsureUser添加一个普通的AD user,sharepoint 会throw "The specified user userLoginName could not be found.",当然此处的u

[转载]我们可以用SharePoint做什么

前言 不知不觉作为一个SharePoint的开发人员若干年了,从SharePoint API开始学习,到了解SharePoint的结构,逐渐一点点了解sharepoint的体系:从SharePoint 的2007到2010到2013到SharePoint Online都接触了一些.本文会从个人的视角给大家展现一下我了解的sharepoint的体系结构,以及介绍一下sharepoint的相关功能,欢迎大家共同讨论拍砖. SharePoint平台的体系结构   基本平台: ASP.NET   Sha