ColdFusion - 日期/时间 - 插入日期范围的可用插槽

时间:2014-10-30 16:30:56

标签: datetime coldfusion coldfusion-9

再次头痛一天。需要对某些内容进行一些更改并首先填充可用的内容。基本上从什么东西开放直到它关闭。并且每15分钟添加一次可用的点。

我可以填充开始日期和结束日期 - 但无法获得内部循环填充需要插入的增量时间...这里很少丢失...感谢任何帮助......

开始日期和结束日期来自cfform - 工作正常...

    Start Date:<br>
    <cfinput type="datefield" name="startDate" required="true" message="Start Date Required">
    <br><br>
    End Date:<br>
    <cfinput type="datefield" name="EndDate" required="true" message="End Date Required">


         <cfloop index="dtToday" from="#StartDate#" to="#EndDate#"> 
         <cfoutput>

         <br>#DateFormat(dttoday)#<br>

             <cfloop index="incr" from="#TimeFormat(sadd.topen)#" to="#TimeFormat(sadd.tclose)#" step="#CreateTimeSpan( 0, 0, sadd.increment, 0 )#"> 

             [#TimeFormat(incr)#]

              Do Database Insert of Date/Time at increments

             </cfloop>



         <cfset schdate = #DateAdd('d', 1, '#schdate#')#>
         </cfoutput>    
         </cfloop>

1 个答案:

答案 0 :(得分:0)

我修改了你的代码,以便我可以快速测试它。 CF Live表明这可以在Railo和CF中使用。

我们不清楚您的问题来自何处,因为我没有对您的代码进行任何重大更改。

<!--- You can get rid of these two form declarations, and the sadd declaration. This was just mimicking your data. --->
<cfset form.startdate = "11/17/95">
<cfset form.enddate = "12/20/95">
<cfset sadd = {topen= "13:00", tclose= "17:00", increment = 15}>

<cfif isDate(form.startdate) and isDate(form.enddate)>
    <cfloop index="dtToday" from="#form.StartDate#" to="#form.EndDate#"> 
        <cfoutput>
            <br>#DateFormat(dttoday)#<br>
            <cfloop index="incr" from="#TimeFormat(sadd.topen)#" to="#TimeFormat(sadd.tclose)#" step="#CreateTimeSpan( 0, 0, sadd.increment, 0 )#"> 
                [#TimeFormat(incr)#] - Do Database Insert of Date/Time at increments<br>
            </cfloop>
            <!---<cfset schdate = #DateAdd('d', 1, '#schdate#')#>--->
        </cfoutput>    
    </cfloop>
<cfelse>
    One or both of the dates entered is invalid.
</cfif>

我改变了:

  • 我形成了范围的startdate和enddate,它不应该对你的代码产生任何负面影响,这似乎是开始的逻辑。虽然这是正确的做法,但它可能导致问题的唯一方法是在多个范围内使用名称为startdate和/或enddate的变量。 (对此的安全性以及对此的利用的安全性正是为什么确定变量范围的最佳做法)。
  • 对于我的样本数据,我将开始时间设置为13:00(下午1:00),结束时间设置为17:00(5:00)。您还可以使用正常格式的&#34; 1:00 PM&#34;和&#34;下午5:00&#34;。
  • 我评论了schDate,因为它的使用在这里并不明显。
  • 我添加了一个悲伤的范围来模仿您的数据可能是什么样的。将来,举例说明您的数据实际情况:)