更改ruby中的日期格式

时间:2015-07-29 18:45:18

标签: ruby regex

my date = "29-07-2015"

我想要的是什么:"2015-07-29"

这适用于irb,但不适用于我的ruby文件:

date.gsub(/(\d{2})-(\d{2})-(\d{4})/, '\3-\2-\1') 

有没有其他方法可以做到这一点?

4 个答案:

答案 0 :(得分:6)

只需解析并重写:

require 'date'

d = Date.strptime('29-07-2015', '%d-%m-%Y')

d.strftime('%Y-%m-%d')
# => "2015-07-29"

strptime函数和strftime函数采用相同的格式选项,因此可以撤消其他函数生成的内容。

答案 1 :(得分:0)

使用正则表达式,类似的东西:

(\d{2})-(\d{2})-(\d{4})

Regex live here.

答案 2 :(得分:0)

没有正则表达式,但会解决你的问题:

"29-07-2015".split('-').reverse.join('-')

答案 3 :(得分:0)

您需要做的就是my_date.reverse!。你想要的只是翻转那个日期,它是一个字符串。字符串可以颠倒。