Страницы

Поиск по вопросам

среда, 13 февраля 2019 г.

Проверка строки с датой/временем на корректность в Ruby

Нужно в Ruby проверить строку вида '12.01.2016 14:26', корректные ли в ней дата/время.
Предполагаю, что это проще всего сделать при помощи регулярного выражения
Если регулярным выражением, то каким? Если не регулярным выражением, то как тогда?


Ответ

Некоторые люди, столкнувшись с проблемой, думают: "Точно, я воспользуюсь регулярными выражениями". Теперь у них две проблемы. — Джейми Завински
Вам не нужны регулярные выражения для решения этой задачи.
Решение есть в стандартной библиотеке Ruby. Это Date.strptime, принимающий строку и разбирающий её по strftime-подобной маске
DateTime.strptime('12.01.2016 14:26', '%d.%m.%Y %H:%M') # => #
В случае некорректности даты/времени прилетит исключение ArgumentError

Комментариев нет:

Отправить комментарий