将字符串转换为 Ruby 中的日期时间

时间:2021-03-28 11:43:07

标签: ruby-on-rails

我有一个简单的问题,但我的头一直撞在墙上。我有一个字符串形式的日期:"03/30/2021 4:30 PM",我希望将其转换为日期时间对象。 我尝试了几种方法,但都出错了:

2.6.3 :003 > Time.parse(@date).strftime("%b/%d/%Y %H:%M %p")
Traceback (most recent call last):
        2: from (irb):3
        1: from (irb):3:in `rescue in irb_binding'
ArgumentError (argument out of range)

2.6.3 :004 > @date.to_datetime
Traceback (most recent call last):
        2: from (irb):4
        1: from (irb):4:in `rescue in irb_binding'
ArgumentError (invalid date)

我相信这一定不会很复杂,请问有单衬吗?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

给你:

DateTime.strptime("03/30/2021 4:30 PM", "%m/%d/%Y %H:%M %p") # =>  Tue, 30 Mar 2021 16:30:00 +0000

这里是 strptime 方法,https://ruby-doc.org/stdlib/libdoc/date/rdoc/DateTime.html

相关问题