[英]Using REST to filter Share Point date field
我需要過濾希望使用 REST 在 SharePoint 列表中收到項目的日期。 我有它部分工作,但我有一個問題。 我正在使用 Datepicker 來選擇我用作過濾器的日期,但是當使用toISOString()
選擇日期並將其轉換為可接受的格式時,我會得到一個“確切”日期(例如2018-06-15T00:00:00.000Z
)。 問題在於日期部分 ( 2018-06-15
) 匹配 OK,但不匹配時間部分,因為日期選擇器將始終提供與 SharePoint 列表條目不同的時間 (HH:MM:SS)。
這是我正在使用的:
... $filter=Date_Received eq datetime'2018-05-11T04:00:00.000Z'
我有幾個項目是在 2018 年 6 月 15 日輸入的,但我沒有得到任何值,因為它們輸入的時間不同(例如 2018-06-15T05:00:00Z)。 有沒有辦法使用substringof
東西來過濾日期,或者有人有解決方法嗎?
提前致謝。
SharePoint 中的日期以 GMT 存儲。 所以記錄的時間是倫敦時間。
選項 1 - 使用范圍:
$filter=Date_Received gt datetime'2018-05-10T20:00:00.000Z' and Date_Received lt datetime'2018-05-11T20:00:00.000Z'
如果您不是在午夜附近尋找文件,那么:
$filter=Date_Received gt datetime'2018-05-11T00:00:00.000Z' and Date_Received lt datetime'2018-05-11T23:59:59.000Z'
選項 2 - 使用 SharePoint 2010 REST API 和日期函數:
/sites/yourSite/_vti_bin/listdata.svc/yourList?$filter=year(Date_Received) eq 2018 and month(Date_Received) eq 5 and day(Date_Received) eq 11
由於格林威治標准時間,午夜左右的日期仍然存在問題。
選項 3 - 將 SharePoint 2010 REST API 與計算列一起使用:
添加一個名為 Date_Received_Text 的計算列:=TEXT(Date_Received,"yyyy-mm-dd")
/sites/yourSite/_vti_bin/listdata.svc/yourList?$filter=Date_Received_Text eq '2018-07-08'
同樣的午夜問題...
注意:2010 API 在 SharePoint Online 中仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.