Ruby on rails 重新格式化日期栏4

Ruby on rails 重新格式化日期栏4,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,正在寻找将类似01/16/2016的字符串转换为rails可以处理的友好日期格式的最佳方法 我有一个日历,用户可以在其中选择开始日期和结束日期。。根据这些参数,我的搜索将过滤适合时间段的结果 不幸的是,rails无法处理其中的当前格式。我不知道最好的方法是什么。我可以改变搜索表单的javascript以不同的方式显示日期,但我觉得这种格式对用户最为友好 谢谢 您可以使用标准的ruby日期类: 某些日期将是date的实例,然后您可以在rails中处理它,并使用strftime以任何方式重新格式化。

正在寻找将类似01/16/2016的字符串转换为rails可以处理的友好日期格式的最佳方法

我有一个日历,用户可以在其中选择开始日期和结束日期。。根据这些参数,我的搜索将过滤适合时间段的结果

不幸的是,rails无法处理其中的当前格式。我不知道最好的方法是什么。我可以改变搜索表单的javascript以不同的方式显示日期,但我觉得这种格式对用户最为友好


谢谢

您可以使用标准的ruby日期类:


某些日期将是date的实例,然后您可以在rails中处理它,并使用strftime以任何方式重新格式化。

您可以使用标准的ruby date类:


有些日期将是date的一个实例,然后您可以在rails中处理它,并使用strftime以任何方式重新格式化。

正如taglia所说,您可以使用strftime

Date.strptime('01/16/2016', '%m/%d/%Y')
您可以将日历日期格式从dd/mm/yyyy更改为mm/dd/yyyy,然后可以使用

require 'date'
date = DateTime.parse("16/01/2016")
=> #<DateTime: 2016-01-16T00:00:00+00:00 ((2457404j,0s,0n),+0s,2299161j)>
date.strftime('%a %b %d %H:%M:%S %Z %Y')
=> "Sat Jan 16 00:00:00 +00:00 2016"

如果只需要日期,可以使用Date而不是DateTime。

正如taglia所说,您可以使用strTime

Date.strptime('01/16/2016', '%m/%d/%Y')
您可以将日历日期格式从dd/mm/yyyy更改为mm/dd/yyyy,然后可以使用

require 'date'
date = DateTime.parse("16/01/2016")
=> #<DateTime: 2016-01-16T00:00:00+00:00 ((2457404j,0s,0n),+0s,2299161j)>
date.strftime('%a %b %d %H:%M:%S %Z %Y')
=> "Sat Jan 16 00:00:00 +00:00 2016"

如果只需要日期,可以使用日期而不是日期时间。

为什么不使用日期作为数据类型?为什么不使用日期作为数据类型?