Rails不是Date.strptime没有得到准确的操作

时间:2017-07-28 18:44:14

标签: ruby-on-rails datetime

07/28/2017 11:56 PM这是我的日期,以下是我当前的代码:

Date.strptime("07/28/2017 11:56 PM", '%m/%d/%Y %H:%M %p').to_time

我得到o/p => 2017-07-28 00:00:00 +0530但我想要几个小时。我到底该怎么做?

1 个答案:

答案 0 :(得分:1)

问题在于您将其转换为Date对象,该对象没有任何time组件,然后将其转换回Time对象。相反,您可以使用

Time.strptime("07/28/2017 11:56 PM", '%m/%d/%Y %H:%M %p')
# => 2017-07-28 23:56:00 -0700

DateTime.strptime("07/28/2017 11:56 PM", '%m/%d/%Y %H:%M %p')
# => Fri, 28 Jul 2017 23:56:00 +0000

如果您愿意,可以致电to_time致电DateTime

DateTime.strptime("07/28/2017 11:56 PM", '%m/%d/%Y %H:%M %p').to_time
# => 2017-07-28 23:56:00 +0000