ruby - 将字符串日期格式从 "17-Nov-2011"转换为 "11/17/11"

我有这段代码可以将日期字符串数组从 17-Nov-2011 格式转换为 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,因此非常感谢任何其他方法。

最佳答案

使用内置的 Time.parseTime#strftime 函数。

require 'time'
time = Time.parse("17-Nov-2011")
time.strftime("%m/%d/%y")
# => "11/17/11"

关于ruby - 将字符串日期格式从 "17-Nov-2011"转换为 "11/17/11",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171921/

相关文章:

google-apps-script - 单元格处于事件状态时突出显示整行

reporting-services - 格式化电话号码并在返回为空时隐藏#ERROR SSRS

html - Aptana 3 中的代码格式化

r - 如何将具有混合日期格式的变量转换为一种格式?

java - 如何在 Java 中设置尊重用户操作系统设置的日期和时间格式

c# - Visual Studio 改变了 Ctrl-K-D 的工作方式

android - 阻止 Android Studio 包装方法和构造函数

date - 谷歌书签导出日期格式?

java - 如何在 Java 中使用前导空格格式化数字

ruby - 在rails应用程序中生成pdf时如何用Prawn定义行高?