2010-08-20 174 views
2

这是我的日期20100816和它的整数日期。红宝石日期

我想显示它像08/16/2010。

这样做的最佳方法是什么?

+1

我建议晚餐,也许一部电影。 [没有读过身体] – Jimmy 2010-08-21 03:39:55

回答

9

可以使用Date.strptime方法在给定的格式读取日期和strftime打印出来的另一种格式:

require 'date' 
intdate = 20100816 
Date.strptime(intdate.to_s, "%Y%m%d").strftime("%m/%d/%Y") 
#=> "08/16/2010" 
1

可以使用Date.parse方法和strftime格式化日期

Date.parse(20100816.to_s).strftime("%m/%d/%Y") 
1

使用Date类是最优雅的解决方案。另一种方法是作为一个字符串处理它:

d = 20100820 
e = d.to_s 
f = [e[4..5], e[6..7], e[0..3]].join('/')