我有日期时间字符串以以下格式输出:
03/27/2014 07:52:47 PM
我使用一个名为rufus-scheduler的gem,它接受YYYY-mm-dd hh-MM-ss ####格式的字符串(####是时区偏移量)。有什么简单的方法可以将第一个字符串转换为rufus-scheduler喜欢的格式的字符串吗?
我知道我可以这样做的一种方法是创建一个方法来解析字符串,这样我就可以从中创建一个新的datetime对象,然后以rufus喜欢的格式调用strftime,但是我想知道是否有更有效的方法来解决我的问题。
您可以使用DateTime::strptime
进行解析,然后使用DateTime#strftime
重新格式化。
先require 'date'
,然后:
2.0.0-p451 :021 > DateTime.strptime("03/27/2014 07:52:47 PM", "%m/%d/%Y %H:%M:%S %p").strftime("%Y-%m-%d %H-%M-%S %z")
=> "2014-03-27 19-52-47 +0000"
查看Time.strftime
同时,http://www.foragoodstrftime.com/也是一个很棒的工具。
Chronic (https://github.com/mojombo/chronic)是你的朋友
require 'chronic'
p Chronic.parse('03/27/2014 07:52:47 PM')