|
Как преобразовать дату SQL в 1С вида 2021-05-04T00:00:00.000Z
| ☑ |
0
Слесарь74
17.05.21
✎
17:14
|
делаю так
XmlЗначение(Тип("Дата"), СтрокаДок.DTDOC)
но получаю со смещением 3 часа, т.е. не 4 мая 2021 00 часов, а 4 мая 2021 03 часа
Знаю, как то можно решить проблему. Кто в курсе?
|
|
1
Garykom
гуру
17.05.21
✎
17:16
|
Бетонщики уже были, ты сантехник?
|
|
2
программистище
17.05.21
✎
17:22
|
74 это разряд?
|
|
3
Garykom
гуру
17.05.21
✎
17:29
|
(0) Z убери и все что после
да вместо
Дата = XMLЗначение(Тип("Дата"), Строка);
можно
Дата = ПрочитатьДатуJSON(Строка, ФорматДатыJSON.ISO);
|
|
4
Sserj
17.05.21
✎
17:33
|
Так у тебя наверно компутер имеет часовую зону +3 от гринвича.
Отрезай последнюю Z будет преобразовывать как просто datetime а не datetimeoffset.
|
|
5
Слесарь74
17.05.21
✎
17:42
|
(3)спасибо, Z убрал и заработало.
ПрочитатьДатуJSON(Строка, ФорматДатыJSON.ISO) - не работает - смещение +3
|
|
6
Garykom
гуру
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.
|
|
7
fisher
17.05.21
✎
17:50
|
(6) Ты к тому, что ему изначально правильно возвращает, а ТС пытается обработать универсальное время как локальное?
|
|
8
fisher
17.05.21
✎
17:53
|
Или он хочет на выходе получить тоже универсальное время, а ему преобразовывает в локальное? Ну, тогда по-идее можно просто вызывать УниверсальноеВремя() и выполнить обратное преобразование.
|
|
9
fisher
17.05.21
✎
17:54
|
Хотя надежнее все-таки Z срезать :)
|
|
10
Garykom
гуру
17.05.21
✎
18:05
|
(7) просто показал что в строковом "json формате" дата может по разному быть
а что там у него из sql возвращается и что ему надо хз
можно и Z заменить на нужное +03:00 или -03:00
|
|