这是一个
Ruby问题(1.9.1)
我在字符串中有以下日期和时间:
29 Sep 2013 12:25:00.367
我首先想要将它从字符串转换为日期和时间,然后
添加10秒,并将其转换回相同的字符串格式
以上.
我写了这段代码:
format = "%d %b %Y %H:%M:%S" date_time = "29 Sep 2013 22:11:30.195" parsed_time = DateTime.strptime(date_time,format) puts " new date time is #{parsed_time}"
哪些输出:
new date time is 2013-09-29T22:11:30+00:00
我没看到“195”.我试过格式=“%d%b%Y%H:%M:%S.%3N”,这给出:
fileOpTest:34:in `strptime': invalid date (ArgumentError) from fileOpTest:34:in `<main>'
解决方法
这可以非常容易地使用
Time class.你可以添加一个时间添加秒.然后使用#strftime
t= Time.parse('29 Sep 2013 12:25:00.367') => 2013-09-29 12:25:00 -0400 t=t + 10 => 2013-09-29 12:25:10 -0400 t.strftime("%d %b %Y %H:%M:%S.%3N") => "29 Sep 2013 12:25:10.367"