內我有一個包含截止日期列表的對象,我想建立時指定的日期爲1個月以內到期日之前返回到期日的系統。它應該以「2009年2月1日」格式返回截止日期。讓我澄清一下,使用我當前的代碼返回日期,如果日期範圍
#Build array of estate objects
estate.due_dates = "1st Feb, 3rd May, 1st Aug, 5th Nov"
estate2.due_dates = "28th Feb, 31st May, 31st Aug, 30th Nov"
estates = [estate,estate2]
set_due_date_on_estates("1st Jan 2009",estates) #Run function - should return "1st Feb 2009,28th Feb 2009"
def set_due_date_on_estates(date,estates)
estates.each{|estate|
estate.due_dates.split(",").each{|due_date|
((date)..(date >> 1)).each{|current_date|
estate.set_reminder(due_date + current_date.strftime("%Y")) if current_date.strftime('%d %m') ==
Date.parse(due_date).strftime('%d %m')
}
}
end
}
我遇到的問題是,我的截止日期列表可是沒有一年的時間,所以我通過我的範圍內循環和檢查,如果日期使用格式是平等的「%d%m」。如果是這樣,我使用循環中當前「截止日期」在循環中與「當前日期」的年份連接的環路中設置提示。
對代碼不太滿意,特別是嵌套循環,並想知道是否有更好的方法可以處理檢查日期範圍內的due_dates,即使due_dates沒有一年。由於
慢性分析器的時候看起來正是即時尋找。由於 – namtax
@namtax,請我感興趣的這個問題,你是如何能夠解決它 –