![]() |
|
|
| ||
АртемП 10.03.21 - 15:27 | Есть ли простой механизм ? Или пример?
Это типовой ответ сторонней программы - показывает момент времени. Собственно строка момента времени вообще имеет вид: datetime="2021-03-09T17:17:54.620+03:00" Собственно строку можно преобразовать к виду "2021-03-09 17:17:54" но наверно это не сильно поможет | ||
RomanYS 1 - 10.03.21 - 15:32 | (0) XMLЗначение(Тип("Дата"),"2021-03-09T17:17:54.620+03:00") только сеунды округлятся до 09.03.2021 17:17:55 | ||
AlvlSpb 2 - 10.03.21 - 15:32 | (0) Собственно строку можно преобразовать к виду "2021-03-09 17:17:54"© Преобразовывай, а потом СтрЗаменить меняешь дефис на точку и Дата(ТвояСтрока) получишь дату | ||
acht 3 - 10.03.21 - 15:33 | (0) Результат = Дата("20210309171754") | ||
AlvlSpb 4 - 10.03.21 - 15:34 | |||
acht 5 - 10.03.21 - 15:34 | А хотя в (1) правильней, так еще часовой пояс учется. А вот как его понимать - пусть у ТС голова болит | ||
asady 6 - 10.03.21 - 15:35 | ТвояДата = ПрочитатьДатуJSON(ДатаСтрокой, ФорматДатыJSON.ISO); | ||
АртемП 7 - 10.03.21 - 15:36 | спасибо всем! | ||
dka80 8 - 10.03.21 - 15:36 | СтроковыеФункцииКлиентСервер.СтрокаВДату | ||
acht 9 - 10.03.21 - 15:38 | (7) Ты только еще учти, что, например, "2021-03-09T17:17:54.620+04:00" при приведении на сервере, находящемся в московском часовом поясе даст не 17:17, а 16.17 =) | ||
PR 10 - 10.03.21 - 15:40 | (0) XMLЗначение(Тип("Дата"), ТвояДатаСтрокой) | ||
acht 11 - 10.03.21 - 15:41 | (10) Даже до первого сообщения не дочитал, так торопился... | ||
PR 12 - 10.03.21 - 16:10 | |||
НЕА123 13 - 10.03.21 - 17:38 | Дата(СтрСоединить(стрРазделить(стрРазделить("2021-03-09T17:17:54.620+03:00",".")[0],"-T:"))) | ||
acht 14 - 10.03.21 - 20:01 | (13) Слабак.
ДатаСтрокой = "2021-03-09T17:17:54.620+03:00"; Запрос = Новый Запрос(" |ВЫБРАТЬ | ДОБАВИТЬКДАТЕ( | ДОБАВИТЬКДАТЕ( | ДОБАВИТЬКДАТЕ( | ДОБАВИТЬКДАТЕ( | ДОБАВИТЬКДАТЕ( | ДОБАВИТЬКДАТЕ( | ДАТАВРЕМЯ(3999, 1 ,1), | ГОД, | СУММА( | 1000 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 1, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 100 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 2, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 10 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 3, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 1 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 4, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | ) - 3999 | ), МЕСЯЦ, | СУММА( | 10 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 6, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 1 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 7, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | ) - 1 | ), ДЕНЬ, | СУММА( | 10 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 9, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 1 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 10, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | ) - 1 | ), ЧАС, | СУММА( | 10 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 12, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 1 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 13, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | ) | ), МИНУТА, | СУММА( | 10 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 15, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 1 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 16, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | ) | ), СЕКУНДА, | СУММА( | 10 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 18, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | + 1 * ЕСТЬNULL(ВЫБОР ПОДСТРОКА(&ДатаСтрокой, 19, 1) КОГДА ЦифрыЧисел.Цифра ТОГДА ЦифрыЧисел.Число КОНЕЦ, 0) | ) | ) КАК ДатаДатой |ИЗ |( | ВЫБРАТЬ ""0"" КАК Цифра, 0 КАК Число | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""1"", 1 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""2"", 2 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""3"", 3 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""4"", 4 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""5"", 5 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""6"", 6 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""7"", 7 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""8"", 8 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ""9"", 9 |) КАК ЦифрыЧисел |"); Запрос.УстановитьПараметр("ДатаСтрокой", ДатаСтрокой); ДатаДатой = Запрос.Выполнить().Выгрузить()[0].ДатаДатой; Сообщить(ДатаДатой); | ||
RomanYS 15 - 10.03.21 - 20:12 | |||
acht 16 - 10.03.21 - 20:35 | (15) Ты при помощи веры, что-ли программируешь?
Вот сейчас заодно и уровень знаний языка запросов раскроется. | ||
ДенисЧ 17 - 10.03.21 - 20:45 | Весна, что-ли? У нас ещё морозы, а у вас уже обострение... | ||
RomanYS 18 - 10.03.21 - 20:57 | (16) Дичь полная... но работает)) | ||
Йохохо 19 - 10.03.21 - 21:50 | |||
RomanYS 20 - 10.03.21 - 23:27 | (19) ага, но это только половина дичи))
Вторая половина это группировка и сумма() | ||
Ненавижу 1С 21 - 10.03.21 - 23:54 | |||
RomanYS 22 - 11.03.21 - 00:15 | (21) да фиг с ним с кейсом, хотя такое раньше на 1с не видел, в доку лезть пока лень...
Применение СУММА() там гораздо интереснее с выборкой из одной таблицы цифр | ||
KoalaJustKoala 23 - 11.03.21 - 05:29 |
|
Список тем форума |