Анализ даты из строки

Ruby:
Анализ даты из строки

Как это сделать:

Ruby поддерживает вас с его библиотекой Date, которая делает превращение строк в даты простым, как пирог. Только не забудьте require 'date' перед тем, как начать.

require 'date'

# Разбор даты (в формате ISO) из строки
date_string = "2023-04-01"
parsed_date = Date.parse(date_string)
puts parsed_date
# => 2023-04-01

# Что, если наш формат вдруг станет неправильным? Попробуйте это.
begin
  custom_date = Date.strptime('03/31/2023', '%m/%d/%Y')
  puts custom_date
rescue ArgumentError
  puts "Это недопустимый формат даты, дружище."
end
# => 2023-03-31

Глубокое Погружение

В старые времена Ruby был менее терпим к форматам даты. Кодерам приходилось вручную манипулировать строками для извлечения дат. Сейчас Date.parse автоматически распознает большинство общих форматов даты, и если возникает путаница, Date.strptime позволяет указать точный формат, чтобы избежать недопонимания.

Альтернативно, если вы имеете дело с более сложными данными даты-времени, DateTime может быть вашим выбором, особенно для разбора времени. Кроме того, для тех, кто работает вне стандартной библиотеки Ruby, существует gem Chronic от умных ребят из GitHub, который понимает массу выражений естественного языка для дат.

Под всей этой простотой, разбор Ruby на самом деле работает на шаблонах форматов дат, которые соответствуют различным частям строки даты с соответствующими элементами даты (год, месяц, день и т. д.). Так что, когда ваша строка не соответствует ожидаемому образцу, вам нужно дать знать Ruby с помощью strptime и правильных директив формата.

Смотрите Также