У меня есть несколько строк, которые являются датами, которые я нахожу с помощью регулярных выраженийСинтаксическое время из строки в Рубине
d = myData.scan(/....\d*..\d{4}/)
Каких yeilds, например, «Джун 15, 2013,» хотя эти даты меняться в различных случаях. Я хотел бы проанализировать их и преобразовать их с аббревиатуры месяца в полный месяц.
Это работает (требуется 'время'):
Time.parse("Jun 15, 2013").strftime("%B %d, %Y")
=> "June 15, 2013"
Но это не делает:
Time.parse("d").strftime("%B %d, %Y")
Как я уже сказал, фактические даты меняются, и я пытаюсь автоматизировать этот процесс со сценарием. Мы ценим любые предложения.
ОБНОВЛЕНИЕ: Извините, я просто пропустил шаг, я думаю. Я думал, что я уже пробовал это, но, наверное, нет. Это работает:
d = myData.scan(/....\d*..\d{4}/)
d2 = Time.parse("d")
date = Time.parse("d2").strftime("%B %d, %Y")
делает ваш фактический исходный код передать строку '' Time.parse' (синтаксический разбор ("d") '), или вы используете переменную? –
Мы знаем, что код не может передать '' d '' '' '' '', потому что Ruby этого не допускает. 'Time.parse ('d')' возвращает 'ArgumentError: информация о времени в" d "'. В результате ни один из кодов, использующих 'parse (" d ")' или 'parse (" d2 ")', не мог работать, несмотря на то, что говорит OP. –