9 сент. 2016 г.

Переобразовать строку в дату

 // Процедура СтрокаВДату преобразует строку в дату по шаблону форматной строки//// Параметры//  Строка          - строка, содержащая дату,//  ФорматДаты      - форматная строка вида:// [dd MM yy]// [yy-MM-dd HH:mm]// [dd MM yy HH mm ss]// [dd MM yyyy]// [MM dd, yyyy, HH:mm]// [dd.MM.yy]// [MM, dd, yyyy]// [yyyyMMdd]// [HH-mm-ss, dd-MM-yy]// [dd]// [dd MM HH:mm:ss yyyy]// [HH:mm:ss]// [HH:mm]// [yyyy-MM-dd HH:mm:ss]// [yyyy-MM-dd]// [yyyy/MM/dd]// [dd/MM/yy]// [MM dd yyyy]// [yyyy-MM]// [yyyy]// [MM, dd, yyyy]// [dd-MM-yyyy]// [ddMMyyyy]//
Функция СтрокаВДату(Знач Строка, Знач ФорматДаты) Экспорт
        Ч = Новый Соответствие; 
        Для ё = 1 По СтрДлина(ФорматДаты) + 6 Цикл 
            Ч[Сред(ФорматДаты + "dMyHms", ё, 1)] = 0
        КонецЦикла; 
        Для ё = 1 По СтрДлина(ФорматДаты) Цикл 
            Ч[Сред(ФорматДаты, ё, 1)] = 10 * Ч[Сред(ФорматДаты, ё, 1)] + Найти("123456789", Сред(Строка, ё, 1));
        КонецЦикла; 
        Ч["y"] = Ч["y"] + ?(0 < Ч["y"] И Ч["y"] < 50, 2000, ?(0 < Ч["y"] И Ч["y"] < 100, 1900, 0));
        Возврат Дата(Макс(Ч["y"], 1), Макс(Ч["M"],1), Макс(Ч["d"],1), Ч["H"], Ч["m"], Ч["s"]);
КонецФункции 
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07