在Ruby中将字符串转换为带有区域的Date

时间:2013-03-29 12:05:01

标签: mysql ruby-on-rails

我在将字符串转换为日期对象时遇到了麻烦,

这是我的字符串

dt='Fri Mar 29 2013 14:30:00 GMT 0530 (IST)' ;  

我想将其转换为

2013-03-29 09:00:00

我该怎么做? 谢谢

3 个答案:

答案 0 :(得分:2)

像这样:

Time.parse(string).strftime('%Y-%m-%d %h:%m:%s')

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html 有很多关于如何格式化输出等的信息。

答案 1 :(得分:1)

红宝石很容易:

require 'time'
Time.parse('Fri Mar 29 2013 14:30:00 GMT 0530 (IST)').strftime('%Y-%m-%d %H:%m:%S')

答案 2 :(得分:0)

重点是必须减去5.5小时的时间。要这样做必须将其转换为时间对象,然后必须减去时间。然后必须再次转换它。一个简单的观点。但我错过了。

time = Time.parse(time_string)
my_time = (time - 5.5*60*60).strftime("%Y-%m-%d %H:%M:%S")