【问题标题】:How to convert Timestamp from mysql into Date/Time object如何将时间戳从 mysql 转换为日期/时间对象
【发布时间】:2014-07-06 12:05:37
【问题描述】:

我正在使用 ruby​​ 从非 Rails 项目中的 mysql 数据库中获取数据。数据有一个TIMESTAMP 类型,如何将其转换为 ruby​​ 日期/时间对象,以便对其进行日期比较?

这些是来自 db 的一些值:

2014-03-17 22:56:02
2011-05-17 21:46:22

【问题讨论】:

  • Ruby 端的数据类型是什么?数据库中的数据类型TIMESTAMP 没有直接关系。
  • @sawa 我的最终目标是将它与今天的日期进行比较,这样我就可以获得“5 天前”...“1 天前”等字符串。
  • 你是在 Rails 还是 Ruby 上?
  • 我知道为什么你的问题被否决了,即使使用 rails 4 mysql 的 datetime 也会被转换为 Time 对象。从那里您仍然需要致电to_date

标签: ruby


【解决方案1】:

使用::strptime

require 'date'

string = '2014-03-17 22:56:02'
DateTime.strptime(string, "%Y-%m-%d %H:%M:%S")
# => #<DateTime: 2014-03-17T22:56:02+00:00 ((2456734j,82562s,0n),+0s,2299161j)>

【讨论】:

    【解决方案2】:

    试试这个

    t = Time.at(<msqlTimestamp>)
    puts t.to_date
    

    【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2013-09-27
    • 2011-07-18
    • 2019-05-10
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多