zoukankan      html  css  js  c++  java
  • 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("
    ");
    
    }

    更新代码:

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

    更新代码:

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

  • 相关阅读:
    Java内存管理以及各个内存区域详解
    python数据的存储和持久化操作
    Redis的安装及配置
    POI使用详解
    遍历Map的几种方法
    Quartz的cronTrigger表达式
    Java对XML文档的增删改查
    Solr系列二:Solr与mmseg4j的整合
    cms STW 的两个阶段
    GROUP BY 和 ORDER BY 同时使用问题
  • 原文地址:https://www.cnblogs.com/myprogram/p/4268488.html
Copyright © 2011-2022 走看看