Время в строковом формате до использования strftime

Я пытаюсь изменить время события, которое я извлек из Facebook, которое появляется в хеше со временем в виде строки. например:

"fbevents" =>
{
"event1" => "2013-04-27T08:00:00-0400"
"event2" => "2013-04-27"
}

При использовании метода strftime он не допустит этого, потому что это строка. Я хочу изменить его на формат: название дня, название месяца, год, время.

1 ответ

Вы можете проанализировать строку, чтобы создать дату. Есть два метода, которые могут быть полезны: parse а также _parse, Первый создает Date, второй возвращает хэш отдельных значений даты.

Date.parse "2013-04-27T08:00:00-0400"
=> Sat, 27 Apr 2013
Date._parse "2013-04-27T08:00:00-0400"
=> {:zone=>"-0400", :hour=>8, :min=>0, :sec=>0, :year=>2013, :mon=>4, :mday=>27, :offset=>-14400}

Используйте первый, если вы просто хотите создать новый экземпляр Date. Используйте второе, если вы хотите захватить определенные части даты, чтобы заняться другими делами.

Другие вопросы по тегам