Подскажите, плиз, функцию преобразования строки "2023-10-04 11:35:03" в дату-время.
---
Еще так можно:

```1c
    Строка = "2023-10-04 11:35:03";
    Дата = Дата(СтрСоединить(СтрРазделить(Строка,"- :",Ложь),"));
```
---
Еще так можно:

```1c
    Строка = "2023-10-04 11:35:03";
    Дата = Дата(СтрСоединить(СтрРазделить(Строка,"- :",Ложь),"));
```
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
```1c
    Дата(Сред(ДатаСтрокой,9,2)+"."+Сред(ДатаСтрокой,6,2)+"."+Лев(ДатаСтрокой,4)+Сред(ДатаСтрокой,11))
```
---
Сред(ДатаСтрокой,9,2)Слабак!

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ ВЫРАЗИТЬ(&ДатаСтрокой КАК СТРОКА) КАК С ПОМЕСТИТЬ ВТ_Парам
    |;
    |ВЫБРАТЬ 0 КАК Поле1, "0" КАК Поле2
    |ПОМЕСТИТЬ ВТ_Таблица
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 1, "1"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 2, "2"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 3, "3"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 4, "4"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 5, "5"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 6, "6"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 7, "7"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 8, "8"
    |ОБЪЕДИНИТЬ ВЫБРАТЬ 9, "9"
    |;
    |ВЫБРАТЬ
    | Подтаблица.Ч КАК Ч,
    | ВЫБОР
    | КОГДА Подтаблица.Ч < 100 ТОГДА ПОДСТРОКА(Подтаблица.С, 3, 2)
    | КОГДА Подтаблица.Ч < 1000 ТОГДА ПОДСТРОКА(Подтаблица.С, 2, 3)
    | ИНАЧЕ Подтаблица.С
    | КОНЕЦ КАК С
    |ПОМЕСТИТЬ ВТ_Конв
    |ИЗ
    |(
    | ВЫБРАТЬ
    | Таблица0.Поле1
    | + Таблица1.Поле1 *10
    | + Таблица2.Поле1 *100
    | + Таблица3.Поле1 *1000 КАК Ч,
    |
    | Таблица3.Поле2
    | + Таблица2.Поле2
    | + Таблица1.Поле2
    | + Таблица0.Поле2 КАК С
    | ИЗ
    | ВТ_Таблица КАК Таблица0,
    | ВТ_Таблица КАК Таблица1,
    | ВТ_Таблица КАК Таблица2,
    | ВТ_Таблица КАК Таблица3
    |) КАК Подтаблица
    |;
    |ВЫБРАТЬ
    | ДОБАВИТЬКДАТЕ(
    | ДОБАВИТЬКДАТЕ(
    | ДОБАВИТЬКДАТЕ(
    | ДОБАВИТЬКДАТЕ(
    | ДОБАВИТЬКДАТЕ(
    | ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1), ГОД, Годы.Ч -1),
    | МЕСЯЦ, Месяцы.Ч - 1),
    | ДЕНЬ, Дни.Ч - 1),
    | ЧАС, Часы.Ч),
    | МИНУТА, Минуты.Ч),
    | СЕКУНДА, Секунды.Ч) КАК П
    |ИЗ
    | ВТ_Парам
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | ВТ_Конв КАК Годы ПО ПОДСТРОКА(ВТ_Парам.С, 1, 4) = Годы.С
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | ВТ_Конв КАК Месяцы ПО ПОДСТРОКА(ВТ_Парам.С, 6, 2) = Месяцы.С
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | ВТ_Конв КАК Дни ПО ПОДСТРОКА(ВТ_Парам.С, 9, 2) = Дни.С
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | ВТ_Конв КАК Часы ПО ПОДСТРОКА(ВТ_Парам.С, 12, 2) = Часы.С
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | ВТ_Конв КАК Минуты ПО ПОДСТРОКА(ВТ_Парам.С, 15, 2) = Минуты.С
    |ЛЕВОЕ СОЕДИНЕНИЕ
    | ВТ_Конв КАК Секунды ПО ПОДСТРОКА(ВТ_Парам.С, 18, 2) = Секунды.С
    |";
    Запрос.УстановитьПараметр("ДатаСтрокой", ДатаСтрокой);
    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();

    Результат = Выборка.П;
```
---
Условия дуэли озвучьте, пож-та. Я-то хотел простой способ получить дату и время из строки. (2) и (4) вполне подойдет.
Но тут начался батл. Какие правила у состязания?
---
не, вт мало, вложенных нет и запрос должен быть минимум на 3 страницы и в тексте обязательно должен быть реквизит, чтобы запрос, не дай бог, в конструкторе не открылся, вы что ЗУП не ковыряли?
---
БСП

```1c
    СтроковыеФункцииКлиентСервер.СтрокаВДату("2023-10-04 11:35:03",ЧастиДаты.ДатаВремя);
```
---
#Zahary Спасибо, добрый человек