2012-05-29 22 views
0

給出一個開始日期時間,一個結束日期時間重複日期時間我怎麼找到每個星期同檔期直到重複直到日期時間查找同一日期時間每下一個星期,直到specifc日期時間

例如:

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> 
相關問題