2012-11-21 77 views

回答

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。

0

我相信有這樣做的更好的辦法,但你可以做

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 
0

這一個將很好地爲你工作。

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 
相關問題