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. PHP日期;如何找到下一年?
- 3. 获取周一和周日以及去年的周一和周日,同一周
- 4. 如何选择同一日期但前一年的数据
- 5. 识别一周中相同日期的年份(例如1994年,2005年,2011年)
- 6. 找出从当前日期前一年日期在JavaScript
- 7. 如何查找日期值的一周?
- 8. 的Python - 熊猫:构建日期一年,周周的年份和日期的
- 9. C#前一周日期
- 10. 输出一周中某些列的总和,一年中一周,一周的日期与日期一致
- 11. 如何在本周的第一天在上一年严格解析仅有一年和一周数的日期?
- 12. php - 找到去年同一天的日期
- 13. 如何在Netezza中找到给定日期的一周开始?
- 14. 如何返回给定日期的一周正确的日期 - 年月和
- 15. Javascript设置从当前年份到上一年的日期
- 16. 得到从一年中的一周年
- 17. 如何在Java中找到前两个星期一的日期?
- 18. 提前一年的NSDateFormatter日期
- 19. 获得了周一和周二的所有日期为明年
- 20. 从PHP的日期(一周)开始,每周跨越两年
- 21. 查找日期范围目前周,月,年
- 22. 给定年,月,日和月的周数,我如何找到日期?
- 23. 我想在PHP中的一周,一年的日期差异?
- 24. 1月1日是前一年的最后一周在轨
- 25. 利用一个固定的日期找到在下周一momentjs
- 26. 如何在范围的日期得到钙周六+周一
- 27. 上周一不是当前日期
- 28. PHP一周前从特定日期
- 29. 如何计算一周中的某一天提供的年份和日期?
- 30. 从当前日期获取一年