我有以下代码,根据" global"创建一个用户数组。平日和时间。
def current_time
# server_time = Time.now
server_time = Time.local(2013,8,19,8,30) # for time simulation
local_offset = (2 * 60 * 60)
local_time = server_time + local_offset
end
def hours_mon_to_thurs?(date)
["Monday", "Tuesday", "Wednesday", "Thursday"].include?(date.strftime("%A")) && ("08:30"..."17:00").include?(date.strftime("%H:%M"))
end
def hours_fri?(date)
["Friday"].include?(date.strftime("%A")) && ("08:30"..."15:00").include?(date.strftime("%H:%M"))
end
def hours_lunch?(date)
!("12:00"..."13:00").include?(date.strftime("%H:%M"))
end
if hours_mon_to_thurs?(current_time) && hours_lunch?(current_time)
p "[USER1, USER2]"
elsif hours_fri?(current_time) && hours_lunch?(current_time)
p "USER2"
else
p "no users"
end
此代码有效,但我想更改数组的创建方式,以便每个用户都将工作日和时间作为属性,如果它们可用,则应将它们添加到数组中。让我举个例子。
用户1 - 办公时间
周一 08:30 - 12:00, 13:00 - 17:00
星期二 08:30 - 12:00, 13:00 - 17:00
星期三 08:30 - 12:00, 13:00 - 17:00
周四 08:30 - 12:00, 13:00 - 17:00
用户2 - 办公时间
星期二 08:30 - 12:00, 13:00 - 17:00
周四 08:30 - 12:00, 13:00 - 17:00
星期五 08:30 - 12:00, 13:00 - 15:00
在每个用户的办公时间定义后,我想要采用与上面示例中类似的方法。像这样:
我目前没有使用数据库,而且我不知道以最佳方式构建每个用户的办公时间,以便在当前时间在用户的时间范围,然后将它们添加到数组中。