0
數組時間的時期
讓我們設定散列陣列遍歷在哈希
@valid_periods = Array.new
我希望能夠設置「活性=真」和「活性=假之間的時間段「狀態;如果在兩個模型(duty_status)的屬性(活動)之間檢測到true,那麼會產生一段時間(@valid_periods)。
如果沒有一個「真」值模型(duty_status)的夥伴;那麼合作伙伴將是長達DateTime.now
@valid_periods = Array.new
@my_duty_statuses.each do |duty_status_start|
end_period = DateTime.now
if duty_status_start[:active] == true
start_period = duty_status_start.date_of_effectivity
@my_duty_statuses.each do |duty_status_end|
if duty_status_end[:active] == false
end_period = duty_status_end.date_of_effectivity
break
end
end
@valid_periods.push({:start_period => start_period, :end_period => end_period})
end
end
爲了簡化其檢查的時間,其中一個員工的值班狀態是活躍的非活動時期。
2011-01-31 08:26:28 +0800 | true
2014-03-03 13:26:28 +0800 | false
2016-01-22 18:25:42 +0800 | true
應該是這樣的:
Date Start Date End
2011-01-31 08:26:28 +0800 2014-03-03 13:26:28 +0800
2016-01-22 18:25:42 +0800 DateTime.now
但是我得到的是:
Date Start Date End
2011-01-31 08:26:28 +0800 2014-03-03 13:26:28 +0800
2016-01-22 18:25:42 +0800 2014-03-03 13:26:28 +0800
爲什麼我收到2014年3月3日十三時26分28秒+ 0800?第3行怎麼沒有覆蓋end_period?我試着把它放在多個地方。