1С 8.3 Получить дату из строки - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Получить дату из строки

Данные > Примеры кода 1С > 1С 8.3 Строка, текст, буквы
Реклама:
Функция преобразует различные варианты строк в дату. Преобразовывает "строки" следующих видов "25/05/21","25-05-2021","25,21","05.21","25.05.2021 0:00:00" к типу "дата".
Получить дату из строки в 1С 8.3:
Функция Получить_дату_из_строки(Стр)

   // Функция РазложитьСтрокуВМассивПодстрок:
   // 1) https://1cnik.by/razlozhitstrokuvmassivpodstrok.php
   // 2) БСП: https://1cnik.by/bsp_razlozhitstrokuvmassivpodstrok.php

   Полученная_дата = Дата("00010101000000");

   Если ПустаяСтрока(Стр) Тогда
       Возврат Полученная_дата;
   КонецЕсли;

   Если Найти(Стр,".") > 0 Тогда
       Если Найти(Стр,":") > 0 И Найти(Стр," ") > 0 Тогда
           МассивСтр = РазложитьСтрокуВМассивПодстрок(Стр," "); //ОбщегоНазначения
           Возврат Получить_дату_из_строки(МассивСтр[0]);
       КонецЕсли;
       МассивСтр = РазложитьСтрокуВМассивПодстрок(Стр,"."); //ОбщегоНазначения
   ИначеЕсли Найти(Стр,"/")>0 Тогда
       МассивСтр = РазложитьСтрокуВМассивПодстрок(Стр,"/"); //ОбщегоНазначения
   ИначеЕсли Найти(Стр,",")>0 Тогда
       МассивСтр = РазложитьСтрокуВМассивПодстрок(Стр,","); //ОбщегоНазначения
   ИначеЕсли Найти(Стр,"-")>0 Тогда
       МассивСтр = РазложитьСтрокуВМассивПодстрок(Стр,"-"); //ОбщегоНазначения
   КонецЕсли;

   Попытка
       Если МассивСтр.Количество() = 3 Тогда //"01.02.21" или "01.02.2021"
           Год = ?(СтрДлина(МассивСтр[2]) = 2,2000 + МассивСтр[2],МассивСтр[2]);
           Полученная_дата = Дата(Год,МассивСтр[1],МассивСтр[0]);
       ИначеЕсли МассивСтр.Количество() = 2 Тогда //"02.21" или "02.2021";
           Год = ?(СтрДлина(МассивСтр[1]) = 2,2000 + МассивСтр[1],МассивСтр[1]);
           Полученная_дата = Дата(Год,МассивСтр[0],1);
       КонецЕсли;
   Исключение
   КонецПопытки;

   Возврат Полученная_дата;

КонецФункции
Поиск кода
0
комментарии
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 25.05.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому