2017-08-16 121 views
0

我通過Acumativa v6中的Web API從屏幕獲取Info數據。Acumatica AR303000「首次到期日期」日期時間格式

常規配置,區域設置和用戶配置文件區域設置格式均位於en-Us中:短日期「YYYY-MM-DD」LongTime「HH:MM:SS」。

屏幕和GI的工作很好,我得到的日期與區域設置格式。

但是,在這個特定的屏幕AR303000中,當我讀到「First Due Date」數據字段時,返回的格式是「MM/DD/YYY h:m:ss AM」;我敢肯定這是從MSSQL繞過Acumatica的方式來的

問:如何將MSSQL格式更改爲「YYYY-MM-DD HH:MM:SS」?

或可以通過Acumatica設置或參數完成嗎?

回答

1

如果使用C#我會建議不要直接使用返回的字符串值。 這兩種格式都可以使用相同的代碼轉換爲DateTime對象。一旦將文本字符串轉換爲DateTime對象,您的數據已經過驗證和消毒,因此您可以自由將其轉換爲您需要的任何格式。

這將工作,即使從API收到的日期字符串改變格式:

enter image description here

在這裏,我倒格式表現出同樣的方法適用於大多數標準格式:

enter image description here

通過這樣做,你的代碼不依賴於輸入字符串格式,並且您的程序將更能抵抗可能破壞它的配置更改。 編輯添加WinDev代碼 母語:

sDate est une chaîne 
sDate = DateSys() 
Res = ChaîneVersDate(sDate, "YYYY-MM-DD HH:MM:SS") 

標準:

sDate is string   
sDate = DateSys() 
Res = StringToDate(sDate, "YYYY-MM-DD HH:MM:SS") 
+0

在我的身邊使用Windev;但我喜歡你用過的方法;我將模仿TryParse方法。我也意識到「首次到期日」是READONLY,所以當插入/更新記錄時,我將空白該字段。但TryParse會盡我的責任。謝謝! – carabez

+0

在Windev WLanguage中,等效方法是StringToDate或DateVersChaine或日期轉換爲字符串。 Ref:https://help.windev.com/?3027013 –

+0

錯誤的一個:我的意思ChaineVersDate不DateVersChaine –