我有約會對象如何使用Date對象和帶有星期幾名稱的字符串來創建新的Date對象?
Mon, 03 Dec 2012
,我有一個包含日期名
"Thursday"
一個String,如何使用這兩個對象找到代表在當天的名字一個新的Date對象與原始日期對象相同的一週?所以,在這個例子中,這將是
Thu, 07 Dec 2012
在這種情況下,每週從週一去週日。
我使用Rails 3.2.0和Ruby 1.9.3。
我有約會對象如何使用Date對象和帶有星期幾名稱的字符串來創建新的Date對象?
Mon, 03 Dec 2012
,我有一個包含日期名
"Thursday"
一個String,如何使用這兩個對象找到代表在當天的名字一個新的Date對象與原始日期對象相同的一週?所以,在這個例子中,這將是
Thu, 07 Dec 2012
在這種情況下,每週從週一去週日。
我使用Rails 3.2.0和Ruby 1.9.3。
如果你能設法轉換「星期四」到周4天 - 我知道你 - ,你可以得到另一個日期是這樣的:
1.9.3p125 :014 > d = Date.parse "Mon, 03 Dec 2012"
=> Mon, 03 Dec 2012
1.9.3p125 :015 > Date.commercial d.cwyear, d.cweek, 4
=> Thu, 06 Dec 2012
1.9.3p125 :016 >
順便說一句,你可以存儲從日期名稱到陣列或散列中的數字,或者使用I18n。
我相信有這樣做的更好的辦法,但你可以做
def date_by_day(date, day_name)
beginning_of_week = date.beginning_of_week
7.times do |i|
_date = beginning_of_week + i.days
return _date if _date.strftime("%A") == day_name
end
end
這一個將很好地爲你工作。
def date_by_day(date, day_name)
beginning_of_week = date.beginning_of_week
day_number = Time::DAYS_INTO_WEEK[day_name.to_sym]
return (beginnig_of_week + day_number.days)
end