0

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

4

3 回答 3

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")
于 2012-10-30T12:13:41.837 回答
2

如果它是这样进来的:"MM-DD-YYYY"

然后我会这样做:

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

我将其保留为稍长的格式,以便您拥有更大的灵活性。

于 2012-10-30T12:18:55.577 回答
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 只需要一个日期对象。

于 2012-10-30T12:42:52.073 回答