在JSON中需要以“dd-mm-yyyy”格式表示日期

问题描述 投票:0回答:2

我需要在REST API中以“dd-mm-yyyy”格式给出日期。但即使我将日期字段的格式更改为“99-99-9999”,API响应也始终以“yyyy-mm-dd”格式显示。无论我选择何种格式,它似乎始终以ISO 8601格式提供日期。

我检查了会话:日期格式,它已经是dmy了。 “write-json()”方法也有同样的问题。但我只需要在REST webservice中使用它。进度verison:11.3。请查看此内容以获得更多说明:

DEFINE TEMP-TABLE ttdate
FIELD fdate AS DATE FORMAT "99-99-9999".

CREATE ttdate.
ASSIGN ttdate.fdate = TODAY.

CREATE ttdate.
ASSIGN ttdate.fdate = TODAY - 15.

TEMP-TABLE ttdate:WRITE-JSON("file", "D:/ttdate.json", YES).

{“ttdate”:[{“fdate”:“2019-02-19”},{“fdate”:“2019-02-04”}]}

在JSON中,无论我选择何种格式,它总是以YYYY-MM-DD给出。请不要建议使用字符串,对我来说使用字符串会非常痛苦。请注意,我只关注JSON中的日期格式。

json rest openedge progress-4gl
2个回答
3
投票

您可以随时保持简单/强制它作为角色而不是日期:

DEFINE VARIABLE dt AS DATE        NO-UNDO.
DEFINE VARIABLE c  AS CHARACTER   NO-UNDO FORMAT "x(12)".

dt = TODAY.

c = STRING(DAY(dt),"99") + "-" + STRING(MONTH(dt),"99") + "-" + STRING(YEAR(dt), "9999").

DISPLAY c .

31-01-2019

但是,对于这个用例(显示),这对我来说真的很有用。

SESSION:DATE-FORMAT = "dmy".
DISP TODAY FORMAT "99-99-9999".

0
投票

@Jensd第一个解决方案听起来就像你需要的那样。使用WRITE-JSON方法时,我认为您无法控制数据的格式。在另一端需要非常特定的数据格式的情况下,字符串有时是获得它的唯一方法。

© www.soinside.com 2019 - 2024. All rights reserved.