1

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

4

1 回答 1

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(通常在时间上没有前导零)。另请参阅将 24 小时军用时间转换为 AM/PM 时间

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

于 2012-08-27T17:18:46.257 回答