下午在 Informix 4GL 中显示

Posted

技术标签:

【中文标题】下午在 Informix 4GL 中显示【英文标题】:am pm display in Informix 4GL 【发布时间】:2012-08-27 15:17:46 【问题描述】:

如何在informix 4GL 中显示am 或PM 并显示时间。在我的数据库中,名为 crttime_a_p 的字段存储上午“A”和下午“P”。如何在我的应用程序中将其显示为“AM”或“PM”。任何帮助,将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

您需要映射数据库值('A' ⟶ 'AM', 'P' ⟶ 'PM')并将映射的值显示到 FORMONLY 字段。如果需要,该字段可用于输入。您可以将UPSHIFT, AUTONEXT, INCLUDE = ('AM', 'PM') 等表单属性添加到表单中的字段。您将无法使用 RECORD LIKE Table.* 表示法,因为 DB 中的字段是 CHAR(1),但您需要 CHAR(2) 来显示和输入。

更严重的是,您需要考虑是否必须使用相关的时间字段。如果是 DATETIME 字段,则时间将采用 24 小时表示法,并且从 24 小时到 AM/PM 表示法的转换并不完全直截了当。提示:24 小时制中的 00:01:02 是 12:01:02 AM; 24 小时制的 12:02:03 是 12:02:03 PM,但 24 小时制的 13:03:04 是 AM/PM 制式的 1:02:03 PM(通常在时间上没有前导零)。另见Converting 24-hour military time to AM/PM time。

如果时间字段只是一个字符串,那么您可能不会遇到这些问题,但您需要仔细设计您的表单以仅接受数字字符(属性FORMATPICTURE?)。

【讨论】:

以上是关于下午在 Informix 4GL 中显示的主要内容,如果未能解决你的问题,请参考以下文章

Informix 4GL 向屏幕报告 - 反向

在 4GL Informix 中关闭“Wy-60”?

在 Informix 4GL 程序中验证 URL

如何在 Informix 4gl 中引用 TEXT 类型?

在 INFORMIX 4GL 的报告中对“ORDER BY”使用“IF 语句”

使用 prepare 语句在 informix 4gl 中创建临时表