【问题标题】:How to change Unix Timestamp to Human Date in rails 3如何在 Rails 3 中将 Unix 时间戳更改为人类日期
【发布时间】:2013-07-15 15:53:56
【问题描述】:

我已经看到一些帖子为 mysql 做相反的事情,但我正在寻找一种将 unix 时间戳更改为人类可读日期的方法(理想情况下我可以更改格式),但我还没有到目前为止能找到任何东西。

我将通过 NokoGiri(在 Rails 3.1.1 中)从 XML 提要中提取的日期存储为哈希的一部分:

'date' => i.xpath('@unix-timestamp')

这个数字很好,但是你怎么把这个 DD-MM-YYYY 放在我的观点中?

我试过 Time.at( (i.xpath('@unix-timestamp') ) 无济于事;我只是收到错误消息“无法将 Nokogiri::XML::NodeSet 转换为确切的数字”现在我碰壁了

非常感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails-3 view unix-timestamp


    【解决方案1】:

    Time.at 绝对是一个可以将纪元时间转换为 ruby​​ Time 对象的调用(参见here 示例)。因此,您似乎需要将 XML 结果转换为更有用的东西。我想你想尝试使用NodeSet#text 获取字符串输出,然后将其转换为整数:

    Time.at(i.xpath('@unix-timestamp').text.to_i)
    

    Engineyard blog 中有一个不错但基本的 NokoGiri 教程

    【讨论】:

    • 不确定您是否还需要下半场的帮助(将时间转换为特定的人类可读格式,但要做到这一点的是.strftime,这里有一个很好的参考: strfti.me
    【解决方案2】:

    你可以像这样使用:DateTime.strptime("1373210218",'%s')

    还有Time.at(1373210218).strftime("%B %e, %Y at %I:%M %p")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      相关资源
      最近更新 更多