鉴于结束日期时间,结束日期时间和重复直至日期时间,我如何每周查找相同的时间表,直到重复到日期时间?
例如:
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 :(得分: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>