有没有一种简单的方法从ruby中的日期字符串中获取年份?

SSj*_*SSj 2 ruby datetime ruby-on-rails date

可能是一个愚蠢的问题...我是ruby的新手,最近我正在编写一个rake任务来将多个表合并为一个通用的表.我需要做的一件事是从数据库中获取日期,然后将日期转换为两个整数作为年份和月份,然后将它们保存到两个单独的列中.

我上周完成了这个任务文件,但不幸的是,该文件被意外删除,所以我必须再次编写代码.我不记得我是如何操纵原始文件中的日期的,我认为我在原始文件中采用的方式比当前代码更直接.目前的代码如下.

fetched_time=DateTime.strptime(pr.fetched_time,"%Y-%m-%d")
dr.year =  fetched_time.strftime('%Y').to_i
dr.month = fetched_time.strftime('%m').to_i
Run Code Online (Sandbox Code Playgroud)

我尝试过很多关键词来搜索,但结果都没有用.以下代码是将日期字符串转换为整数的最佳方法吗?

非常感谢你.

Aru*_*hit 8

是的,可以使用Date#year:

require 'date'

d = Date.parse("20-08-2013")
d.year # => 2013
Run Code Online (Sandbox Code Playgroud)