Как разобрать этот текст в формат даты - PullRequest
0 голосов
/ 22 марта 2012

Кто-нибудь может сказать мне, как преобразовать этот текст в формат даты в рельсах?

Чт 01 марта 11:49:16 +0000 2012

Ответы [ 4 ]

1 голос
/ 22 марта 2012

с консоли рельсов:

[1] pry(main)> "Thu Mar 01 11:49:16 +0000 2012".to_time
=> 2012-03-01 11:49:16 UTC
[2] pry(main)> "Thu Mar 01 11:49:16 +0000 2012".to_date
=> Thu, 01 Mar 2012
[3] pry(main)> "Thu Mar 01 11:49:16 +0000 2012".to_datetime
=> Thu, 01 Mar 2012 11:49:16 +0000
0 голосов
/ 22 марта 2012

Этот ответ .to_date является лучшим ответом на вопрос здесь.

Но, к вашему сведению, для других форматов посмотрите камень Chronic.

Chronic.parse('tomorrow')
#=> Mon Aug 28 12:00:00 PDT 2006

Chronic.parse('monday', :context => :past)
#=> Mon Aug 21 12:00:00 PDT 2006

Chronic.parse('this tuesday 5:00')
#=> Tue Aug 29 17:00:00 PDT 2006

Chronic.parse('this tuesday 5:00', :ambiguous_time_range => :none)
#=> Tue Aug 29 05:00:00 PDT 2006

Chronic.parse('may 27th', :now => Time.local(2000, 1, 1))
#=> Sat May 27 12:00:00 PDT 2000

Chronic.parse('may 27th', :guess => false)
#=> Sun May 27 00:00:00 PDT 2007..Mon May 28 00:00:00 PDT 2007

https://github.com/mojombo/chronic

0 голосов
/ 22 марта 2012

Вы можете разобрать это по времени.А затем конвертировать в дату.

require 'active_support/core_ext' # don't need this if on rails.

s = 'Thu Mar 01 11:49:16 +0000 2012'

t = Time.parse s
puts t.to_date
0 голосов
/ 22 марта 2012

DateTime.parse("Thu Mar 01 11:49:16 +0000 2012")

...