да, пхп.
из того, что я вижу в комментариях она не сработает — нужно готовить под неё текст. а если его готовить — всё равно нужно писать преги чтоб выкусить то, что касается даты )
Date::Parse — нет, принимает только простые строки на ввод
Date::Components — то же самое
DateTime::Format::Builder
DateTime::Format::DateParse
и последние тоже.
ну конечно регулярки)) вопрос был в том — занимался ли кто-то уже написанием этих регулярок. судя по всему нет, запланировал себе на завтра набросать. если что получится — выложу сюда.
одних регулярок мало. Для реально работающей системы, которая позволяет ввести дату в абсолютно произвольном формате необходим хороший семантический анализ. А это нехилые такие разработки;)
Лучше разбивать текст на лексемы и описать машину состояний, которая будет конвертировать лексемы в удобоваримый формат, который потом будет парситься с помощью DateTime.Parse().
Это, конечно, сложнее, чем регэкспы, но раз вы «фанат хорошо сделанных вещей», то можно и помучаться =)
Выкусывание текстовой даты из абстрактной текстовой строки