在Rails中没有空格的格式化日期

时间:2014-01-26 14:17:07

标签: ruby-on-rails ruby

我使用的API将日期返回"20090320" Ymd

如何在rails中将其格式设置为20-03-2009

提前致谢!

4 个答案:

答案 0 :(得分:9)

Date.strptime('20090320', '%Y%m%d').strftime('%d-%m-%Y')

答案 1 :(得分:6)

使用Date::parseDate#strftime执行以下操作:

require 'date'
d = Date.parse "20090320" # => #<Date: 2009-03-20 ((2454911j,0s,0n),+0s,2299161j)> 
d.strftime('%d-%m-%Y') # => "20-03-2009" 

在一行中写为

Date.parse("20090320").strftime('%d-%m-%Y')

答案 2 :(得分:5)

rails中的

您可以使用to_date

"20090320".to_date
=> Fri, 20 Mar 2009
"20090320".to_date.strftime("%d-%m-%Y")
=> "20-03-2009"

答案 3 :(得分:0)

您正在寻找的方法是parse上的strftimeDate

您需要从ruby标准库中要求date才能实现此目的。

这是一个例子

require 'date'

puts Date.parse("20090320").strftime("%d-%m-%Y") # 20-03-2009