我有此代码可将日期字符串数组从2011年11月17日格式转换为11/17/11 :将字符串日期格式从“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
是否有更好的,可能内置的方式来使用Ruby进行此转换?我正在学习Ruby,所以对此的任何其他方法将不胜感激。
Ruby的['Date'](HTTP:// www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/index.html)和['Time'](http://www.ruby-doc.org/stdlib-1.9.3/libdoc /time/rdoc/index.html)库功能非常全面。两人都应该花时间去了解他们可以做什么;日期处理比时间更大的范围。 –
对于'parse'失败或混淆的时候,您应该明确查看['DateTime.strptime'](http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html #method-c-strptime) – Phrogz
note:empty array + each + push = map – tokland