Ruby on rails内爆并爆炸函数来更改日期格式

时间:2012-10-30 12:11:25

标签: mysql ruby-on-rails ruby-on-rails-3 date

我们如何在' - '上爆炸一个字符串并再次在ruby on rails上的' - '上内爆。我的问题是我想将"MM-DD-YYYY"格式的日期转换为'YYYY-MM-DD'来从表单中保存到mysql数据库。由于MySQL只接受'YYYY-MM-DD'格式。

3 个答案:

答案 0 :(得分:2)

检查strftime

"31-12-2012".to_date.strftime("%Y-%m-%d") #Gives "2012-12-31"

如果您有日期时间对象,请执行以下操作

t = Time.now
puts t.strftime("%Y-%m-%d %H:%M:%S")

答案 1 :(得分:2)

如果它以:"MM-DD-YYYY"

进入

然后我会这样:

m, d, y = "MM-DD-YYYY".split('-')
new_format = [y,m,d].join('-')

我把它留在稍长的格式中,这样你就有了更大的灵活性。

答案 2 :(得分:1)

Rails不支持开箱即用的MM-DD-YYYY。通常不可能将它们与DD-MM-YYYY区分开来,这可能是原因。

您可以使用Date::strptime

dateMMDDYYY = "10-30-2012"
date = Date.strptime(dateMMDDYYY, '%m-%d-%Y')

您实际上不必将其格式化为YYYY-MM-DD,因为ActiveRecord只需要一个日期对象。