如果我有一个Date
对象,我可以将它作为整数,星期一= 1,星期日= 7得到星期几,如下所示:
date.cwday
我可以对Rails中的DateTime
对象做同样的事情吗?我知道我可以使用strftime
,但我正在循环中进行一些操作,其中包含大量数据集,可能包含数十万个项目,并且如果可能的话,我们希望避免在字符串和整数之间进行额外的转换。 / p>
答案 0 :(得分:5)
DateTime
类继承cwday
类的Date
方法,是的。我建议访问www.ruby-doc.org。 Date
和DateTime
位于标准(非核心)库中。请记住选择正确的红宝石版本。
此外,如果您担心性能,使用DateTime#cwday
时不应有任何性能损失,因为该方法是从Date
继承的(未被覆盖)。另请注意,在ruby 1.8.7中,这两个类都是用纯红宝石编写的;而在1.9中,它们是编译的C代码(ruby-doc显示date_core.c作为源文件)。您的日期代码可能会在1.9中运行得更快。
答案 1 :(得分:4)
我想是的
1.9.3-p392 :002 > DateTime.new
=> Mon, 01 Jan -4712 00:00:00 +0000
1.9.3-p392 :003 > _.cwday
=> 1