Вход | Регистрация
 

Как преобразовать дату SQL в 1С вида 2021-05-04T00:00:00.000Z

Как преобразовать дату SQL в 1С вида 2021-05-04T00:00:00.000Z
Я
   Слесарь74
 
17.05.21 - 17:14
делаю так
XmlЗначение(Тип("Дата"), СтрокаДок.DTDOC)
но получаю со смещением 3 часа, т.е. не 4 мая 2021 00 часов, а 4 мая 2021 03 часа

Знаю, как то можно решить проблему. Кто в курсе?
 
 Партнерская программа EFSOL Oblako
   Garykom
 
1 - 17.05.21 - 17:16
Бетонщики уже были, ты сантехник?
   программистище
 
2 - 17.05.21 - 17:22
74 это разряд?
   Garykom
 
3 - 17.05.21 - 17:29
(0) Z убери и все что после
да вместо
Дата = XMLЗначение(Тип("Дата"), Строка); 

можно
Дата = ПрочитатьДатуJSON(Строка, ФорматДатыJSON.ISO);
   Sserj
 
4 - 17.05.21 - 17:33
Так у тебя наверно компутер имеет часовую зону +3 от гринвича.
Отрезай последнюю Z будет преобразовывать как просто datetime а не datetimeoffset.
   Слесарь74
 
5 - 17.05.21 - 17:42
(3)спасибо, Z убрал и заработало.

ПрочитатьДатуJSON(Строка, ФорматДатыJSON.ISO) - не работает - смещение +3
   Garykom
 
6 - 17.05.21 - 17:45
(5) Дата может записываться в нескольких вариантах (для примера используется дата 10 марта 2019 13:14:15 в зоне UTC+4):

как локальная дата: 2019-03-10T13:14:15;
как локальная дата с указанием смещения: 2019-03-10T13:14:15+04:00;
как дата в UTC: 2019-03-10T09:14:15Z.
   fisher
 
7 - 17.05.21 - 17:50
(6) Ты к тому, что ему изначально правильно возвращает, а ТС пытается обработать универсальное время как локальное?
   fisher
 
8 - 17.05.21 - 17:53
Или он хочет на выходе получить тоже универсальное время, а ему преобразовывает в локальное? Ну, тогда по-идее можно просто вызывать УниверсальноеВремя() и выполнить обратное преобразование.
   fisher
 
9 - 17.05.21 - 17:54
Хотя надежнее все-таки Z срезать :)
   Garykom
 
10 - 17.05.21 - 18:05
(7) просто показал что в строковом "json формате" дата может по разному быть
а что там у него из sql возвращается и что ему надо хз

можно и Z заменить на нужное +03:00 или -03:00

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.