Нужна дата в формате "дд-мм-гггг" в формате JSON - PullRequest
0 голосов
/ 31 января 2019

Мне нужно указать дату в формате "dd-mm-yyyy" в REST API.Но ответ API всегда приходит в формате "гггг-мм-дд" , даже если я изменил формат поля даты на "99-99-9999".Кажется, он всегда дает дату в формате ISO 8601, независимо от того, какой формат я выбираю.

Я проверил сессию: формат даты, и это уже dmy.Метод write-json () также имеет ту же проблему.Но мне нужно только это в веб-сервисе REST.Ход выполнения: 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.

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

@ Первое решение Jensd звучит так, как вам нужно в вашем случае.При использовании метода WRITE-JSON я не думаю, что у вас есть контроль над форматом данных.В случаях, когда другому концу требуются очень специфические форматы для данных, иногда это единственный способ получить их.

0 голосов
/ 01 февраля 2019

Вы всегда можете сохранить его простым / принудительно использовать его как символ вместо даты:

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".
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...