2014-10-30 97 views
-2

再次頭痛的一天。需要對某些東西進行一些更改並首先填充可用的東西。基本上從什麼時候開放到關閉。並且每15分鐘添加一次可用點。ColdFusion - 日期/時間 - 插入日期範圍的可用插槽

我可以得到開始日期和結束日期填充 - 但不能得到內部循環填充需要插入的增量時間...在這裏輸了少...任何幫助表示讚賞...

開始日期和來自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

當你輸出變量時,你看到你認爲你應該看到什麼嗎? – 2014-10-30 16:38:34

+0

什麼也看不到 - 嘗試在dateadd內部循環中執行step increment - 仍然沒有任何內容... – 2014-10-30 16:42:39

+0

#TimeFormat(sadd.topen)# - #TimeFormat(sadd.tclose)# - #sadd.increment#minutes - getting me 06: 00 - 00:00和15分鐘 – 2014-10-30 16:44:26

回答

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的變量。 (針對這種情況的安全性以及針對這種情況的安全性正是爲什麼確定變量範圍是最佳實踐的原因)。
  • 對於我的示例數據,我將開始時間設置爲13:00(下午1:00),結束時間爲17:00(5:00)。您也可以使用「1:00 PM」和「5:00 PM」的正常格式。
  • 我將schDate註釋掉了,因爲它的用法在這裏並不明顯。
  • 我添加了一個sadd作用域來模仿你的數據可能是什麼樣子。在將來,請給出你的數據實際上看起來像什麼的樣本:)