Расписание по умолчанию для сотрудника Steve: понедельник - пятница с 18:00 до 2:00.
startdate = 10/14/2018
starttime = 6:00 PM
endtime = 2:00 AM (the next day)
Когда я генерирую расписание в ColdFusion, оно циклически перебирает каждую дату, в которую входит DayofWeek (2,3,4,5,6 (понедельник - пятница), но он не знает, что время окончания не совпадает с датой начала, потому что оно прошло полночь во время его смены.
Как я могуцикл через время, чтобы найти дату, когда время идет за полночь?
Его смена длится 8 часов, но
#DateDiff('n',starttime,endtime)#
возвращается -16 часов,
так что я даже не могу сказать, сколько часов этот диапазон времени, или я мог бы сделать цикл из начальной даты и добавить 8 часов.
Этот цикл даже не работает.
<cfset startTime = "#startdate# #starttime#">
<cfset endTime = #endtime#>
<cfloop from="#startTime#" to="#endTime#" index="i" step="#CreateTimeSpan(0,1,0,0)#">
<cfoutput>#DateTimeFormat(i)#</cfoutput>
</cfloop>
Желаемый результат:
10/14/2018 6:00 PM
10/14/2018 7:00 PM
10/14/2018 8:00 PM
10/14/2018 9:00 PM
10/14/2018 10:00 PM
10/14/2018 11:00 PM
10/15/2018 12:00 AM
10/15/2018 1:00 AM
Спасибо за ваши идеи.