如何从下面的代码
获取整数作为整数3.2.21@2.1.3 (#<VouchersController:0x007ff453)> t = (Date.today + 5).to_s
=> "2015-12-01"
3.2.21@2.1.3 (#<VouchersController:0x007ff453)> t.to_i
=> 2015
3.2.21@2.1.3 (#<VouchersController:0x007ff453)>
我可以得到这一年。但是如何将月份作为整数来返回12
?
答案 0 :(得分:4)
您获得年份的原因仅在于您将字符串"2015-12-01"
转换为整数。
在Ruby字符串上使用to_i
时,它只使用前导数字字符,然后丢弃字符串的其余部分。当它到达第一个-
字符时,它将停止解析为整数并返回它到目前为止的内容:2015
。
为了使用Date
的实际功能,请勿使用to_s
将对象转换为字符串。
require 'date'
t = Date.today + 5 # => #<Date: 2015-11-30 ((2457357j,0s,0n),+0s,2299161j)>
t.year # => 2015
t.month # => 11