ruby – 查找给定周数的日期

前端之家收集整理的这篇文章主要介绍了ruby – 查找给定周数的日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试根据给定年份的周数来做一些日期数学.例如:
date = Date.today # Monday,March 5,2012
puts date.cwyear  # 2012
puts date.cweek   # 10 (10th week of 2012)

现在我知道当前的一周是什么,我想知道下周和前一周是什么.我需要取年份(2012)和周数(10)并将其转回日期对象,以便我可以计算下一周/前一周的值.我怎样才能做到这一点?

解决方法

你想要 Date.commercial
require 'date'
now = Date.today                                           #=> 2012-03-05
monday_next_week = Date.commercial(now.cwyear,now.cweek+1) #=> 2012-03-12
next_sunday_or_today = monday_next_week - 1                #=> 2012-03-11

请注意,星期一星期开始,所以如果你在星期天并要求下一个星期一 – 1你会得到同一天.

另请注意,如果您不想要星期一,您还可以在方法中指定日期编号:

thursday_next_week = Date.commercial(now.cwyear,now.cweek+1,4) #=> 2012-03-15

猜你在找的Ruby相关文章