1

如果我有一个Date对象,我可以从中获取星期几作为整数,星期一 = 1,星期日 = 7,如下所示:

date.cwday

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

4

2 回答 2

5

该类从DateTime该类继承cwday方法Date,所以是的。我建议访问 www.ruby-doc.org。Date并且DateTime在标准(非核心)库中。请记住选择正确的 ruby​​ 版本。

此外,如果您担心性能,则使用时不应该有任何性能损失,DateTime#cwday因为该方法是继承自Date(而不是覆盖)的。另请注意,在 ruby​​ 1.8.7 中,这两个类都是用纯 ruby​​ 编写的;而在 1.9 中,它们是编译的 C 代码(ruby-doc 显示 date_core.c 作为源文件)。您的日期代码可能会在 1.9 中运行得更快。

于 2013-06-28T19:20:17.253 回答
4

我想是的

1.9.3-p392 :002 > DateTime.new
 => Mon, 01 Jan -4712 00:00:00 +0000
1.9.3-p392 :003 > _.cwday
 => 1
于 2013-06-28T19:08:54.640 回答