abas-ERP(FO-语言):2个abas日期之间的确切时间差
abas-ERP (FO-Language): Exact time difference between 2 abas dates
是否有任何 FO-native 的可能性来获得两个 abas 日期对象之间的确切差异?
我有一个基于 AJO 的解决方案来比较两个日历对象,但它对我的用例来说太慢了(它被调用了很多次),我希望有一个本机解决方案。
abas 日期 (GD-Fields) 可以表示的最高精度是多少?只需几秒钟,或者有没有办法获得 UNIX 时间戳或类似的更高精度的东西。
是的,您可以使用 GP4 类型。
.type GD19 xdbegin xdend
.type GP4 xgdiff
.formula U|xdbegin = "1.1.2015 00:00:00"
.formula U|xdend = "1.1.2016 00:00:00"
.formula U|xgdiff = U|xdend-U|xdbegin
'U|xgdiff'
输出将为 365D00h00m00s
现在您可以转换它,例如秒:
.type text xtcmd
.type int xisec
.formula U|xtcmd = "formula U|xisec = " + F|regreplace(F|regreplace(F|regreplace(F|regreplace('U|xgdiff', "D", "*24*60*60+"), "h", "*60*60+"), "m", "*60+"), "s", "")
.'U|xtcmd'
据我所知,"seconds" 是您可以在 FO 中使用的最高精度。
如果你需要更多,你必须使用(正如你已经提到的)UNIX-time-stamps
是否有任何 FO-native 的可能性来获得两个 abas 日期对象之间的确切差异?
我有一个基于 AJO 的解决方案来比较两个日历对象,但它对我的用例来说太慢了(它被调用了很多次),我希望有一个本机解决方案。
abas 日期 (GD-Fields) 可以表示的最高精度是多少?只需几秒钟,或者有没有办法获得 UNIX 时间戳或类似的更高精度的东西。
是的,您可以使用 GP4 类型。
.type GD19 xdbegin xdend
.type GP4 xgdiff
.formula U|xdbegin = "1.1.2015 00:00:00"
.formula U|xdend = "1.1.2016 00:00:00"
.formula U|xgdiff = U|xdend-U|xdbegin
'U|xgdiff'
输出将为 365D00h00m00s
现在您可以转换它,例如秒:
.type text xtcmd
.type int xisec
.formula U|xtcmd = "formula U|xisec = " + F|regreplace(F|regreplace(F|regreplace(F|regreplace('U|xgdiff', "D", "*24*60*60+"), "h", "*60*60+"), "m", "*60+"), "s", "")
.'U|xtcmd'
据我所知,"seconds" 是您可以在 FO 中使用的最高精度。 如果你需要更多,你必须使用(正如你已经提到的)UNIX-time-stamps