0

не даны время начали дату, в время окончания даты и повторения до даты времени, как не мне найти такое же расписание, каждую неделю до повтора до дата времени?Найти же время даты каждый ближайшие недели, пока, специфическое время даты

Например:

start date time: 05-29-2012 07:35 
end date time: 05-29-2012 10:27 
repeat until date: 06-19-2012 09:00 

результат будет:

06-05-2012 07:35 06-05-2012 10:27 
06-12-2012 07:35 06-12-2012 10:27 

Любая идея, как сделать это в CFML?

Вот что я пытался до сих пор:

<cfset start_dt = "05-29-2012 07:35"> 
<cfset end_dt = "05-29-2012 10:27"> 
<cfset repeat_until = "06-19-2012 09:00"> 
<cfoutput>start: #start_dt#<br></cfoutput> 
<cfoutput>end: #end_dt#<br></cfoutput> 
<cfoutput>repeat until: #repeat_until#<br></cfoutput> 
<cfset s_date='#DatePart("m", start_dt)#/#DatePart("d", start_dt)#/#DatePart("yyyy", start_dt)#'> 
<cfoutput>#s_date#<br></cfoutput> 
<cfset s_date = DateAdd("d", 7, s_date)> 
<cfoutput>#s_date#<br></cfoutput> 
+0

Что не так, просто добавив 7 дней к «дате начала», сохранив результат, добавив еще 7 дней и т. Д., Пока не достигнете даты «повторить до»? –

+0

Я начинаю кодировать cfml – Steve

+1

ОК. :-) Вы не ответили на мой вопрос; Вы читали то, что я написал? Решение есть. –

ответ

2

С вашим примером ожидаемых результатов, похоже, что вы не заботитесь о стоимости start_dt только из end_dt. Итак, вот один из способов, с помощью которого вы можете заставить его работать. Вам нужен только один тип цикла, но я включил два, чтобы вы могли выбирать свои предпочтения.

<cfset start_dt = "05-29-2012 07:35"> 
<cfset end_dt = "05-29-2012 10:27"> 
<cfset repeat_until = "06-19-2012 09:00"> 
<cfoutput>start: #start_dt#<br></cfoutput> 
<cfoutput>end: #end_dt#<br></cfoutput> 
<cfoutput>repeat until: #repeat_until#<br></cfoutput> 

<!--- FromTo loop ---> 
<cfset first_dt = DateAdd("d", 7, end_dt)> 
<cfloop from="#first_dt#" to="#repeat_until#" index="current_dt" step="#CreateTimeSpan(7,0,0,0)#"> 
    <cfoutput>#DateFormat(current_dt, "mm-dd-yyyy")# #TimeFormat(current_dt, "HH:mm")#<br></cfoutput> 
</cfloop> 

<!--- Condition loop ---> 
<cfset current_dt = DateAdd("d", 7, end_dt)> 
<cfloop condition="DateCompare(current_dt, repeat_until) LTE 0"> 
    <cfoutput>#DateFormat(current_dt, "mm-dd-yyyy")# #TimeFormat(current_dt, "HH:mm")#<br></cfoutput> 
    <cfset current_dt = DateAdd("d", 7, current_dt)> 
</cfloop>