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

  • 相关阅读:
    个人作业——软件评测
    结对第二次作业
    寒假作业(2/2)
    寒假作业(1/2)
    markdown整理
    我们一定会在人生的更高处相见的
    时间复杂度 分析 可能算法
    有关数学 结论 规律 题目 小结
    jzyz 题库 选做 及 知识小结
    隔板法
  • 原文地址:https://www.cnblogs.com/myprogram/p/4268488.html
Copyright © 2011-2022 走看看