簡體   English   中英

如何在SharePoint 2013工作流中檢索僅限日期字段的正確值

[英]How to retrieve correct value of date only field in SharePoint 2013 workflow

我對SharePoint 2013工作流程相當陌生,具有多年的一般C#和其他SharePoint經驗。

我的問題是時區。 我正在Visual Studio 2013中開發一個列表工作流,它必須根據列表中當前項的僅日期字段的值進行一些操作。 我正在使用GetDynamicValueProperties檢索此字段的值並將其分配給變量。 但是,如果我檢查這個值,我可以看到它不正確,因為它是我實際為列表項設置的那一天的23:00。 我假設這是因為無論是僅限日期字段,在幕后它仍然存儲在常規DateTime對象中。

因此,我的所有日​​期計算都是1天假(因為我只使用日期部分)。 我注意到所有時區特定的類和方法都不能在工作流程中使用。

有沒有什么辦法可以正確檢索此字段值的日期部分而無需對任何偏移量進行硬編碼? 我最好尋找一種不包含變通方法和黑客攻擊的解決方案,並且適用於所有環境。

背景信息:我必須在此日期前n天在給定時間(例如上午8點)執行任務。 第二部分也很棘手,因為這個時間部分也將是1小時。 我也在尋找解決方案。

管理解決它在HttpSend活動中調用適當的SharePoint REST API端點。

SPTimeZone.utcToLocalTime端點

SPTimeZone.localTimeToUTC端點

我將原始日期作為url參數傳遞,並在JSON對象中接收轉換后的日期,該對象可以在工作流中輕松解析。 根據網站集區域設置進行轉換。

注意:從本地轉換為UTC時,結果字符串末尾包含“Z”字符,表示它確實是UTC日期。 在工作流中將整個字符串解析為DateTime時,會將其轉換回原始日期。 我使用String.Substring方法剪切了最后一個字符,現在工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM