Rails字符串到DOB年份

时间:2014-04-18 22:44:16

标签: ruby-on-rails ruby ruby-on-rails-4

我目前正在存储格式化为" 01/01/199" (客户端验证)bday字段。

我想解析年份并将其存储为变量,如下所示:

@bdayyear = current_user.bday.year

我想要带回来" 1989"

我该怎么做呢?

3 个答案:

答案 0 :(得分:1)

只需使用#strftime::strptime

s = "01/01/1989"
current_user.bday.strptime(s, "%d/%m/%Y").strftime("%Y")
# => "1989"

答案 1 :(得分:0)

将其转换为DateTime对象,您可以在其上调用年份

>> DateTime.parse("01/01/1989").year
=> 1989

答案 2 :(得分:0)

如果格式始终一致,为什么不只是使用字符串

"01/01/1989".slice(-4..-1)
"01/01/1989"[-4..-1]

"01/01/1989".split(/\W/).pop

这些都将返回“1989”而不将其转换为日期