从Date.today获得月份

时间:2015-11-26 06:08:01

标签: ruby

如何从下面的代码

获取整数作为整数
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

1 个答案:

答案 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