Rails 3,MySQL Production只允许输入mm / dd / yyyy或yyyy-mm-dd格式的日期需要输入dd / mm / yyyy

时间:2011-10-05 09:27:56

标签: mysql ruby-on-rails ruby

我一直在研究Rails 3应用程序,在我的开发环境中,一切都运行良好。 开发环境是运行mysql的Ubuntu 10.10 Desktop,时间位置是欧洲 - 伦敦。

我可以用英国dd / mm / yyyy格式输入日期,这些保存到数据库没有任何困难。我知道MySQL以yyyy-mm-dd格式存储日期。

在生产中,我只能输入mm / dd / yyyy或yyyy-mm-dd格式的日期。这是一个内部应用程序,我的用户显然希望以原生格式输入日期。

服务器是运行mysql的Ubuntu 10.10服务器。时间地点是欧洲伦敦。

我可以使用.strftime(“%d /%m /%Y”)轻松排序显示日期

我发现某人有人建议将Date :: DATE_FORMATS [:default] =“%d /%m /%Y”添加到环境.rb文件中,但该文件无效。

然后其他地方建议添加Date.strptime(params [:work_order] [:recieved_date],“%d /%m /%Y”))

这实际上阻止了我的开发工作(我将其添加到我在控制器中的创建操作)

1 个答案:

答案 0 :(得分:0)

在你的生产mysql服务器上运行它

SELECT @@lc_time_names;

你可能希望它“en_GB”不确定英国的标准,你可以在mysql配置文件中设置它,也许是my.cnf。

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_lc_time_names