Преобразование строки в дату в 12-часовом формате
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) как вариант:
ЧДаты = Лев(СтрДата, 14);
АДаты = Прав(СтрДата, 2);
Результат = Дата(ЧДаты);
ЧасДаты = Час(Результат);
Если ВРег(АДаты) = "PM" И ЧасДаты < 12 Тогда
Результат = Результат + 12*3600;
ИначеЕсли ВРег(АДаты) = "AM" И ЧасДаты = 12 Тогда
Результат = Результат - 12*3600;
КонецЕсли;
Показать
(1) если строка всегда приходит именно в этом виде то можно так
пусть
вариант 1 - разобрать на составляющие и передать в Дата()
вариант 2 - в исходной строке отрезать АМ или РМ и в зависимости от них перезаполнить символы отвечающие за часы и полученную строку передать в Дата()
пусть
ДатаСтрока = "20220425110000AM";
вариант 1 - разобрать на составляющие и передать в Дата()
Год = Число(Лев(ДатаСтрока,4);
Месяц = Число(Сред(ДатаСтрока,5, 2));
День = Число(Сред(ДатаСтрока, 7, 2));
Час = Число(Сред(ДатаСтрока, 9, 2))+?(Прав(ДатаСтрока, 2)="АМ", 0, 12);
Минута
Секунад - по аналоги
ДатаИзСтроки = Дата(Год, Месяц, День, Час, Минута, Секунда);
вариант 2 - в исходной строке отрезать АМ или РМ и в зависимости от них перезаполнить символы отвечающие за часы и полученную строку передать в Дата()
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот