4
A
回答
1
試試這個:
require 'active_support/all'
today = Time.now #=> 2010-12-01 14:58:36 -0700
sunday = (today - today.wday.days).beginning_of_day #=> 2010-11-28 00:00:00 -0700
saturday = sunday + 6.days #=> 2010-12-04 00:00:00 -0700
sunday.wday #=> 0
saturday.wday #=> 6
sunday - 1.year #=> 2009-11-28 00:00:00 -0700
sunday.prev_year #=> 2009-11-28 00:00:00 -0700
saturday - 1.year #=> 2009-12-04 00:00:00 -0700
saturday.prev_year #=> 2009-12-04 00:00:00 -0700
你也可以計算出一年的一週兩天的一個,然後減去365.days
的ActiveSupport實際上分成更細的粒度和Rails 3,所以如果你不想要,你不必在整個套件中加載。我是爲了簡單而做的。更多的信息在ActiveSupport Core Extensions page。
或者,你可以得到與字符串解析的Jiggy:
require 'chronic'
Chronic.parse('1 year ago last sunday') #=> 2009-11-28 12:00:00 -0700
Chronic.parse('1 year ago next saturday') #=> 2009-12-04 12:00:00 -0700
我喜歡慢性病,而且,對於這種分析我覺得這是一個好辦法,因爲該字符串是東西,你會創造,而不是一個用戶,所以你的代碼被一個不可解析的字符串炸燬的可能性很小。我不確定是否有速度問題,因爲解析過程中可能會有一些基準測試結果,如果解析過程會進入循環。
3
require 'chronic'
Chronic.parse '1 year ago'
# => 2009-12-01 14:05:39 -0800
Chronic是一個非常可愛的rubygem,它可以處理一系列的事情,包括適應您的特定要求。
4
require 'date' # Included in Ruby's standard library, no gem needed
now = Date.today
before = Date.civil(now.year-1, now.month, now.day)
sunday = Date.commercial(before.year, before.cweek, 1) - 1 # Day 1 is Monday
this_week_last_year = sunday..(sunday+6)
編輯:雖然Date.commercial
是冷靜,這是沒有必要的。以下是本週找到星期日開始一個簡單的方法:
require 'date'
now = Date.today
before = Date.civil(now.year-1, now.month, now.day)
sunday = before - before.wday
3
>> 1.year.ago.beginning_of_week.to_date
Mon, 30 Nov 2009
>> 1.year.ago.end_of_week.to_date
Sun, 06 Dec 2009
相關問題
- 1. 在Excel中找到日期之前的週一或週日
- 2. Teradata SQL同一周前一年的同一日
- 3. 如何獲得前一年的日期相對於一年的每週
- 4. PHP日期;如何找到下一年?
- 5. moment.format()當前返回當前年份的上一週的下一年的日期
- 6. 獲取週一和週日以及去年的週一和週日,同一周
- 7. 如何選擇同一日期但前一年的數據
- 8. 查找今年的前一年的同一天SQL Server中的日期
- 9. 識別一週中相同日期的年份(例如1994年,2005年,2011年)
- 10. 如何查找日期值的一週?
- 11. 找出從當前日期前一年日期在JavaScript
- 12. 的Python - 熊貓:構建日期一年,週週的年份和日期的
- 13. 如何查找到目前爲止一週或一個月內的日期
- 14. C#前一週日期
- 15. 輸出一週中某些列的總和,一年中一週,一週的日期與日期一致
- 16. 查看日期是否在同一個日曆周或前一個日曆周
- 17. 如何在本週的第一天在上一年嚴格解析僅有一年和一週數的日期?
- 18. php - 一年中SQL的一週()到字符串/日期
- 19. SSRS比較周與前一年的同一週數
- 20. 給定一年和一週的數字,你如何得到一週的第一天的日期?
- 21. 查找日期範圍一週的特定月份和年份
- 22. 從oracle當前日期計算一年到期日期11g
- 23. 鑑於DAYOFWEEK號,找了一天的日期前一週
- 24. 數據表與本週和這些日期一年前
- 25. php - 找到去年同一天的日期
- 26. 如何在Netezza中找到給定日期的一週開始?
- 27. 查找下一個日期的一週中的日期
- 28. 如何返回給定日期的一週正確的日期 - 年月和
- 29. JS datepicker能夠:時間,日期,日期時間,星期幾,一週中的一年,一年中的其他等
- 30. Javascript設置從當前年份到上一年的日期