如何更改 OpenEdge Progress 中 DATE 变量的默认格式?

Smo*_*kus 3 progress-4gl openedge

显示日期时的默认 DATE 格式为 DD/MM/YY

我想把它改成 DD.MM.YYYY

这只是一个简单的程序:

DEFINE VARIABLE daDate AS DATE NO-UNDO.

daDate = TODAY.

MESSAGE daDate.
Run Code Online (Sandbox Code Playgroud)

目前输出如下所示:16/09/20

我尝试在变量名后添加 FORMAT "99.99.9999" 如下:DEFINE VARIABLE daDate FORMAT "99.99.9999" AS DATE NO-UNDO.但它根本没有改变输出。

当我而不是MESSAGE使用DISPLAY然后用 FORMAT 写出来时,它会显示正确的格式:DISPLAY daDate FORMAT "99.99.9999".

我做错了什么还是我错过了什么?

Jen*_*nsd 5

您发送消息的表达式将首先转换为字符,因此您可以控制该转换:

MESSAGE STRING(daDate,"99.99.9999").
Run Code Online (Sandbox Code Playgroud)

  • 如果需要,您可以通过其他方式获取其他格式。有一个 ISO-DATE 函数,可以用作 `ISO-DATE(daDate)` 并以 AAAA-MM-DD 格式返回日期,还有 YEAR、MONTH 和 DAY 函数,其用法与 ISO-DATE 相同并分别以整数形式返回 DATE 变量的年份部分、月份部分和日期部分,从而允许按照您需要的方式设置每个变量的格式。希望能帮助到你。 (2认同)