我可以从DateTime获取星期几作为数字吗?

Kev*_*ica 1 ruby ruby-1.8.7

如果我有一个Date对象,我可以将它作为整数,星期一= 1,星期日= 7得到星期几,如下所示:

date.cwday
Run Code Online (Sandbox Code Playgroud)

我可以对DateTimeRails中的对象做同样的事情吗?我知道我可以使用strftime,但是我在一个循环中进行一些操作,其中包含大量数据集,可能有数十万个项目,并且如果可能的话,我希望避免在字符串和整数之间进行额外的转换.

Kel*_*vin 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中更快地运行.