Query Options的一些用法(4):UTC時間處理

來源:互聯網
上載者:User

接著上一篇Query Options的一些用法(3): 分頁,這一篇也是介紹一下Lists.GetListItems方法文檔上已經存在的一個:DateInUtc

DateInUtc

TRUE to return dates in Coordinated Universal Time (UTC) format. FALSE to return dates in ISO format. This element is optional, and its default value is False.(注意,這裡文檔在SharePoint2010環境下錯誤了,預設值應該是FALSE。見下面樣本。)

 

首先先運行下沒有傳入Query Options的方法。

static void Main(string[] args)

{

 

Lists client = new Lists();

client.Url = webUrl + "/_vti_bin/lists.asmx";

client.Credentials = System.Net.CredentialCache.DefaultCredentials;

XmlNode resultNode = client.GetListItems(listName, String.Empty, QueryAll, ViewFields, "1", null, String.Empty);

Console.ReadLine();

}

得到如下結果,注意看建立和修改時間,發現這裡並沒有使用UTC時間,所以預設值應該是FALSE。

<rs:data ItemCount="1" ListItemCollectionPositionNext="Paged=TRUE&amp;p_ID=1" xmlns:rs="urn:schemas-microsoft-com:rowset">

<z:row ows_Title="Test01" ows_Attachments="1" ows_Author="1;#Qin, Lei (Lambert, ES-Apps-GD-China-SH)" ows_Editor="1;#Qin, Lei (Lambert, ES-Apps-GD-China-SH)" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="1" ows_UniqueId="1;#{E1F2046C-16AC-4650-8EE3-73E12ED5E833}" ows_owshiddenversion="4" ows_FSObjType="1;#0" ows_Created="2012-11-30 15:37:17" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-12-13 10:42:20" ows_FileRef="1;#teams/smetechcom/Lists/QueryOptionsDemo/1_.000" xmlns:z="#RowsetSchema" />

</rs:data>

這裡,我使用<DateInUtc>FALSE</DateInUtc>進行驗證,發現的確如此。

static XmlNode QueryOptions

{

get

{

XmlElement queryOptions = _camlDoc.CreateElement("QueryOptions");

queryOptions.InnerXml = "<DateInUtc>FALSE</DateInUtc>";

return queryOptions;

}

}

static void Main(string[] args)

{

 

Lists client = new Lists();

client.Url = webUrl + "/_vti_bin/lists.asmx";

client.Credentials = System.Net.CredentialCache.DefaultCredentials;

XmlNode resultNode = client.GetListItems(listName, String.Empty, QueryAll, ViewFields, "1", QueryOptions, String.Empty);

Console.ReadLine();

}

<rs:data ItemCount="1" ListItemCollectionPositionNext="Paged=TRUE&amp;p_ID=1" xmlns:rs="urn:schemas-microsoft-com:rowset">

<z:row ows_Title="Test01" ows_Attachments="1" ows_Author="1;#Qin, Lei (Lambert, ES-Apps-GD-China-SH)" ows_Editor="1;#Qin, Lei (Lambert, ES-Apps-GD-China-SH)" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="1" ows_UniqueId="1;#{E1F2046C-16AC-4650-8EE3-73E12ED5E833}" ows_owshiddenversion="4" ows_FSObjType="1;#0" ows_Created="2012-11-30 15:37:17" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-12-13 10:42:20" ows_FileRef="1;#teams/smetechcom/Lists/QueryOptionsDemo/1_.000" xmlns:z="#RowsetSchema" />

</rs:data>

最後,設定顯示UTC時間,看看結果有什麼不同。

static XmlNode QueryOptions

{

get

{

XmlElement queryOptions = _camlDoc.CreateElement("QueryOptions");

queryOptions.InnerXml = "<DateInUtc>TRUE</DateInUtc>";

return queryOptions;

}

}

 

<rs:data ItemCount="1" ListItemCollectionPositionNext="Paged=TRUE&amp;p_ID=1" xmlns:rs="urn:schemas-microsoft-com:rowset">

<z:row ows_Title="Test01" ows_Attachments="1" ows_Author="1;#Qin, Lei (Lambert, ES-Apps-GD-China-SH)" ows_Editor="1;#Qin, Lei (Lambert, ES-Apps-GD-China-SH)" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="1" ows_UniqueId="1;#{E1F2046C-16AC-4650-8EE3-73E12ED5E833}" ows_owshiddenversion="4" ows_FSObjType="1;#0" ows_Created="2012-11-30T07:37:17Z" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-12-13T02:42:20Z" ows_FileRef="1;#teams/smetechcom/Lists/QueryOptionsDemo/1_.000" xmlns:z="#RowsetSchema" />

</rs:data>

 

為什麼我們會需要UTC時間?

在我看來主要需要解決的就是一個不同時區的問題。SharePoint中,介面顯示的都是本地時間。每個使用者可以修改自己的顯示時區。如

對於開發人員來說,一旦你忽略了時區,用自己的本地時區去查詢一個和你不同時區的網站資料的時候,查詢結果的數量就會產生問題。

所以推薦使用這個選項,來進行你的每一次查詢。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.