4gl格式的十进制数字值日期时间



字段的值采用(deci-5 99999999.999999(格式,如:20201231.65624其中2020是年,12是月,31是日期,.65624是小时和分钟值。

我想将其显示为2020年12月31日18:13

我的意思是,像这样的格式。到目前为止,我只能显示日期部分,即2020年12月31日。但无法显示小时和分钟部分。

感谢在这方面的帮助。谢谢

如果值是字符串,则将以hh:mm:ss显示时间部分:

display string( integer ( entry( 2, "20201231.65624", "." )), "hh:mm:ss" ).

或者,如果值是十进制:

define variable d as decimal no-undo initial 20201231.65624.
display string( integer(( d - truncate( d, 0 )) * 100000 ), "hh:mm:ss" ).

显然,你会想抽象出这种方法来满足你真正的需求

使用字符或十进制字段来保存日期时间的技术是Progress早期版本的遗留技术,该版本不支持datetime或datetime-TZ数据类型。由于OpenEdge 10,您有一个本机数据类型,您应该将其用于此目的。这种使用小数和字符串的方法实际上应该只用于向后兼容旧代码和旧数据库模式。

最新更新