ColdFusion Looping Around Times, чтобы найти дату - PullRequest
0 голосов
/ 15 октября 2018

Расписание по умолчанию для сотрудника 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

Спасибо за ваши идеи.

...