是否有任何FO原生的可能性来获得两个abas日期对象之间的确切差异?
我有一个基于AJO的解决方案,比较两个日历对象,但它对我的用例来说太慢了(它被多次调用),我希望有一个原生解决方案。
abas日期(GD-Fields)可以表示的最高准确度是多少? Just Seconds还是有办法获得一个UNIX时间戳或类似的东西以获得更高的精度。
答案 0 :(得分:1)
是的,您可以使用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'
据我所知"秒"是您在FO中可以使用的最高精度。 如果您需要更多,则必须使用(如您所述)UNIX时间戳