Всех приветствую, в данной статье рассмотрим, что нам предлагает Платформа для преобразования даты из JSON в "примитивную" дату и наоборот.
ЗаписатьДатуJSON(<Дата>, <Формат>, <ВариантЗаписиДаты>)
Функция доступна с версии 8.3.6.
Поддерживаемые форматы:
- ISO (ГГГГ-ММ-ДДTЧЧ:ММ:СС. Пример: "2001-01-01T00:00:00");
- JavaScript (new Date(<Unix Timestamp>). Пример: "new Date(978296400000)");
- Microsoft (/Date(<Unix Timestamp>)/. Пример: "/Date(978296400000)/");
Варианты записи:
- Локальная дата;
- Локальная дата со смещением;
- Универсальная дата;
!!! Для формата: JavaScript, Microsoft, - необходимо использовать вариант записи "УниверсальнаяДата"
ПрочитатьДатуJSON(<Строка>, <Формат>)
Функция доступна с версии 8.3.6.
Поддерживаемые форматы:
- ISO (ГГГГ-ММ-ДДTЧЧ:ММ:СС. Пример: "2001-01-01T00:00:00");
- JavaScript (new Date(<Unix Timestamp>). Пример: "new Date(978296400000)");
- Microsoft (/Date(<Unix Timestamp>)/. Пример: "/Date(978296400000)/");
Примечание:
Если дата записана в форме без указания часового пояса (например, 2001-01-01T00:00:00), она будет интерпретирована как дата в поясе локального компьютера.
Процедура ДатуJSONВДату()
// Преобразует из "2024-01-16T12:30:45+03:00" в '16.01.2024 12:30:45'
//
ДатаПримерISO = "2024-01-16T12:30:45+03:00";
ДатаISO = ПрочитатьДатуJSON(ДатаПримерISO, ФорматДатыJSON.ISO);
// Преобразует из "2024-01-16T12:30:45+03:00" в '16.01.2024 12:30:45'
//
ДатаПримерISO = "2024-01-16T12:30:45+03:00";
ДатаISO = ПрочитатьДатуJSON(ДатаПримерISO, ФорматДатыJSON.ISO);
// Преобразует из "2024-01-16T09:30:45Z" в '16.01.2024 12:30:45'
//
ДатаПримерISO = "2024-01-16T09:30:45Z";
ДатаISO = ПрочитатьДатуJSON(ДатаПримерISO, ФорматДатыJSON.ISO);
//// "1705397445000" - Дата в формате Unix Timestamp (миллисекундах)
//
// Преобразует из "new Date(1705397445000)" в '16.01.2024 12:30:45'
//
ДатаПримерJavaScript = "new Date(1705397445000)";
ДатаJavaScript = ПрочитатьДатуJSON(ДатаПримерJavaScript, ФорматДатыJSON.JavaScript);
// Преобразует из "/Date(1705397445000)/" в '16.01.2024 12:30:45'
//
ДатаПримерMicrosoft = "/Date(1705397445000)/";
ДатаMicrosoft = ПрочитатьДатуJSON(ДатаПримерMicrosoft, ФорматДатыJSON.Microsoft);
КонецПроцедуры // ДатуJSONВДату()