我目前正在存储格式化为" 01/01/199" (客户端验证)bday字段。
我想解析年份并将其存储为变量,如下所示:
@bdayyear = current_user.bday.year
我想要带回来" 1989"
我该怎么做呢?
答案 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”而不将其转换为日期