如果我有一个Date
对象,我可以从中获取星期几作为整数,星期一 = 1,星期日 = 7,如下所示:
date.cwday
我可以对DateTime
Rails 中的对象做同样的事情吗?我知道我可以使用strftime
,但我正在循环中执行一些操作,其中包含可能包含数十万个项目的大型数据集,并且希望尽可能避免字符串和整数之间的额外转换。
如果我有一个Date
对象,我可以从中获取星期几作为整数,星期一 = 1,星期日 = 7,如下所示:
date.cwday
我可以对DateTime
Rails 中的对象做同样的事情吗?我知道我可以使用strftime
,但我正在循环中执行一些操作,其中包含可能包含数十万个项目的大型数据集,并且希望尽可能避免字符串和整数之间的额外转换。
该类从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 中运行得更快。
我想是的
1.9.3-p392 :002 > DateTime.new
=> Mon, 01 Jan -4712 00:00:00 +0000
1.9.3-p392 :003 > _.cwday
=> 1