如何解决4gl 中的十进制数值日期时间格式
该字段的值采用 (deci-5 99999999.99999) 格式,例如: 20201231.65624 其中 2020 是年,12 是月,31 是日期,0.65624 是小时和分钟值。
我想像 31/12/2020 18:13 一样显示它。
我的意思是像这种格式的 DD/MM/YY hh:mm。到目前为止,我只能显示日期部分,即 31/12/2020。但无法显示小时和分钟部分。
感谢这方面的帮助。谢谢。
解决方法
如果值为字符串,这将显示以 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" ).
显然,您希望抽象出该方法以适应您的真正需要。
使用字符或十进制字段来保存日期时间的技术是不支持 DATETIME 或 DATETIME-TZ 数据类型的 Progress 古代版本的遗留问题。从 OpenEdge 10 开始,您有一个本机数据类型,您应该为此目的使用它。这种使用小数和字符串的方法应该只用于向后兼容旧代码和旧数据库模式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。