rails 3.2中的jQuery datetimepicker格式

我正在使用以下datetimepicker,根据我的理解,它是已扩展的jquery-ui datepicker。

http://trentrichardson.com/examples/timepicker/

我的问题是我想向用户显示上午和下午时间,但我想以不同的方式对其进行格式化,以便当我将其提交到mysql数据库时,时间格式进入标准“YY-mm-dd – hh:mm: ss“格式。

这是它当前输入的格式

时间格式

jQuery UI日期选择器支持将altFieldaltFormat选项传递给它们,以实现此目的。 您正在使用的插件也支持扩展(虽然以令人困惑的方式)。 我相信这是一个正确的选项,可以满足您的需求。 在这里试试吧

假设有这些元素的表单:

   

然后,您可以设置datetimepicker小部件,如下所示:

 $('#datetime').datetimepicker( { altField : '#datetime_to_server', // selector of the hidden input field you want sent to the server altFormat : 'yy-m-d', altFieldTimeOnly : false, altTimeFormat : 'hh:mm:00' } ); 

对于与上述问题相同的人,我收到了上述插件开发人员的一些好建议,即格式化的责任应该属于中间件(ruby,php,python等)。 所以在做了一些搜索后,我发现了以下gem并添加到我的Gemfile中。

 gem 'validates_timeliness' 

这个插件依赖于时效性gem,并有许多内置函数,可以接受许多不同的格式。

将此添加到您的模型中,您就完成了:

 validates_datetime :date_paid_on, :allow_blank => true 

您可能会遇到可能需要自定义解析器的场景。 如果是这样,只需将以下内容添加到validates_timeliness.rb初始化程序中即可。

 config.parser.add_formats(:datetime, 'yyyy-mm-dd hh:nn:ss tz')