【问题标题】:Time in string format to using strftime使用 strftime 的字符串格式时间
【发布时间】:2013-04-21 23:13:16
【问题描述】:

我正在尝试更改我从 Facebook 提取的事件的时间,该事件以时间作为字符串的散列形式出现。例如:

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

在时间上使用方法 strftime 时,它​​不会允许它,因为它是一个字符串。我想将其更改为格式: 日名、月名、年、时间。

【问题讨论】:

标签: ruby-on-rails time strftime


【解决方案1】:

您可以解析字符串来创建日期。有两种方法可以使用:parse_parse。第一个创建日期,第二个返回分隔日期值的哈希。

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 实例,请使用第一个。如果您想获取日期的特定部分来做其他事情,请使用第二个。

【讨论】:

  • 嘿,我试过了,它通过 rails 控制台在终端中工作,但在应用程序中不起作用。刚刚显示:2013-04-30
  • 它也没有响应 .to_datetime
  • 搞定了!我实际上必须做 .to_time.strftime("%A, %B %d, %Y at %l:%M%p")。我想这是特定于拉动 Facebook 活动的开始时间。感谢蒂姆的所有帮助!
猜你喜欢
  • 1970-01-01
  • 2016-07-11
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 2015-07-23
相关资源
最近更新 更多