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

How to change the default format of DATE variables in OpenEdge Progress?

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

我想将其更改为 DD.MM.YYYY

这只是一个简单的程序:

DEFINE VARIABLE daDate AS DATE NO-UNDO.

daDate = TODAY.

MESSAGE daDate.

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

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

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

我是做错了什么还是遗漏了什么?

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

MESSAGE STRING(daDate,"99.99.9999").
DEFINE VARIABLE hoy         AS CHARACTER    NO-UNDO.    
hoy =  STRING (DAY (TODAY), "99") + "." 
     + STRING (MONTH (TODAY), "99") + "."
     + STRING (YEAR (TODAY)) .
Message hoy.