3

在我的模型中,我有一个departure_date和一个return_date。ActiveRecord/Rails中的日期格式3

我正在使用text_field而不是date_select,以便我可以使用JQuery datepicker。

我的应用程序现在在美国,但我确实希望获得国际会员。

所以基本上这就是发生了什么。用户(美国)键入诸如04/01/2010(4月1日)之类的日期。

当然,MySQL的将它存储为日期,例如2010-04-01 ...

无论如何,当用户进入稍后编辑日期,显示“01/04/2010”,因为我使用的是strftime(“%m /%d /%Y)”这是没有意义的......所以它认为它是1月4日而不是原来的4月1日。准确存储的数据是供用户输入的:2010-04-01

我希望所有这些都有道理。我真正追求的是让用户输入(或使用日期选择器)的方式日期以其原始格式。

因此,欧洲有人可以在4月1日输入01/04/2010,但美国有人会输入04/01/2010。

有没有一个简单,优雅的解决方案呢?

感谢您的任何建议。

回答

2

最近我一直面临同样的问题。

我的网站基于法国,所以我必须将日期存储为法语日期。

我也使用Jquery DatePicker。

为此,我将I18n.locale设置为访问者的国家。对于为例:

I18.locale = :fr 

您可以使用的before_filter做到这一点到您的application_controller

然后,进入你的语言环境/你fr.yml可以定义要显示日期的方式

最后,进入你的视图,你可以用JqueryDatePicket属性设置日期格式视图。

如果我记得很清楚,这是梅索德类似的东西:

$.datepicker.formatDate('dd-mm-yyyy'); 

您仍然可以找到它的日期选择文档上。

而且这种格式可以发现为例为您的区域/ fr.yml

而这一切!

希望这会有所帮助!

+0

谢谢!我会检查一下。 – cbmeeks 2010-06-03 16:46:16