如果我有一個Date
對象,我可以從它那裏得到一週的一天,一個整數,星期一= 1,星期日= 7,就像這樣:我可以從DateTime獲取星期幾作爲數字嗎?
date.cwday
我可以做同樣的事情DateTime
對象在Rails中?我知道我可以使用strftime
,但我在循環中進行一些操作,可能會有成百上千個項目的大數據集,並且希望避免字符串和整數之間的額外轉換(如果可能)。
如果我有一個Date
對象,我可以從它那裏得到一週的一天,一個整數,星期一= 1,星期日= 7,就像這樣:我可以從DateTime獲取星期幾作爲數字嗎?
date.cwday
我可以做同樣的事情DateTime
對象在Rails中?我知道我可以使用strftime
,但我在循環中進行一些操作,可能會有成百上千個項目的大數據集,並且希望避免字符串和整數之間的額外轉換(如果可能)。
的DateTime
類繼承自Date
類cwday
方法,所以是。我建議訪問www.ruby-doc.org。 Date
和DateTime
位於標準(非核心)庫中。請記住選擇正確的紅寶石版本。
另外,如果您擔心性能,使用DateTime#cwday
時不應該有任何性能損失,因爲該方法從Date
(未覆蓋)繼承。還要注意的是,在紅寶石1.8.7中,這兩個類都是用純紅寶石編寫的;而在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
現在我再看看我的代碼,看起來像我很困惑的原因是因爲我得到一個Time對象,我期待DateTime對象。謝謝您的幫助! – Kevin
在Rails中,你也可以使用'to_datetime'來轉換一個'Time'。不知道這是如何影響性能的。 – Kelvin