Форматирование даты с словом

1. Vitaliy06 05.03.24 17:29 Сейчас в теме
Есть дата вида "1 декабря 2024". Суть проблемы можно ли как то форматнуть это в дату(может с использованием БСП) или придется писать функцию которая возвращает цифру декабрь - 12, январь - 1 и т. д.
По теме из базы знаний
Найденные решения
2. booksfill 06.03.24 10:19 Сейчас в теме
Не знаю такой, наверное, сложность написания связана с тем, что для универсальности придется искать месяца для 100500 языков и еще учитывать, что этот месяц может всплывать в разных местах.

Просто напишите что-то типа (код не проверял, считайте, что это псевдокод! просто идея):
  пДаты = СтрРазделить(МояДата, " ");  
Месяцы = СтрРазделить("январь,февраль,март,апрель,май,июнь,июль,август,сентябрь,октябрь,ноябрь,декабрь", ",");
 пДата = Дата(Число(пДаты[0]), Месяцы.Найти(НРег(пДаты[1])), пДаты[2]);


Можете сделать более универсально, чтобы не зависеть от склонения и позволять работать с сокращенными наименованиями месяцев, т.е.
Месяцы = СтрРазделить("янв,фев, мар ...
И Месяцы.Найти(Лев(НРег(пДаты[1]), 3))
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. nomad_irk 76 06.03.24 10:37 Сейчас в теме
(1)Сериализовать дату в правильном виде чтобы не иметь подобный геморрой не предлагать?
5. Vitaliy06 06.03.24 12:14 Сейчас в теме
(3)
Сериализовать дату

Спасибо не надо)
4. user1880116 06.03.24 12:11 Сейчас в теме
(1)
придется писать
Это вот самый большой страх 99% задающих тут вопросы
6. Vitaliy06 06.03.24 12:14 Сейчас в теме
(4) да там пару строк кода не то что бы страх, больше лень
2. booksfill 06.03.24 10:19 Сейчас в теме
Не знаю такой, наверное, сложность написания связана с тем, что для универсальности придется искать месяца для 100500 языков и еще учитывать, что этот месяц может всплывать в разных местах.

Просто напишите что-то типа (код не проверял, считайте, что это псевдокод! просто идея):
  пДаты = СтрРазделить(МояДата, " ");  
Месяцы = СтрРазделить("январь,февраль,март,апрель,май,июнь,июль,август,сентябрь,октябрь,ноябрь,декабрь", ",");
 пДата = Дата(Число(пДаты[0]), Месяцы.Найти(НРег(пДаты[1])), пДаты[2]);


Можете сделать более универсально, чтобы не зависеть от склонения и позволять работать с сокращенными наименованиями месяцев, т.е.
Месяцы = СтрРазделить("янв,фев, мар ...
И Месяцы.Найти(Лев(НРег(пДаты[1]), 3))
7. Vitaliy06 06.03.24 12:15 Сейчас в теме
на счет перевода, в обнолвении бсп яндекс переводчик добавили пока не пользовался, но звучит как что то удобное
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот