我有这个代码将日期字符串数组从2011年11月17日的格式转换为11/17/11:
def date_convert dates months = { 'Jan' => 1,'Feb' => 2,'Mar' => 3,'Apr' => 4,'May' => 5,'Jun' => 6,'Jul' => 7,'Aug' => 8,'Sep' => 9,'Oct' => 10,'Nov' => 11,'Dec' => 12 } new_dates = [] dates.each do |date| date_split = date.split('-') month = months[date_split[1]] day = date_split[0] year = date_split[2][-2,2] new_dates.push ("#{month}/#{day}/#{year}") end new_dates end
解决方法
使用内置的Time.parse和Time#strftime函数.
require 'time' time = Time.parse("17-Nov-2011") time.strftime("%m/%d/%y") # => "11/17/11"