2017-08-16 124 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 –