cfloop:日付または時刻の範囲に対するループ

説明

from 属性と to 属性で指定された日付と時刻の範囲をループします。デフォルトの数値単位は 1 日ですが、タイムスパンを作成することによりこの値を変更できます。 

シンタックス

<cfloop 
from = &quot;start time&quot; 
to = &quot;end time&quot; 
index = &quot;current value&quot; 
step = &quot;increment&quot;> 
</cfloop>

関連項目

cfabortcfbreakcfcontinuecfdirectorycfexecutecfexitcfifcflocationcfrethrowcfswitchcfthrowcftrycfloop

および cfbreak(『ColdFusion アプリケーションの開発』

属性

属性

必須/オプション

デフォルト

説明

fromDate

必須

 

日付または時刻の範囲の開始時です。

toDate

必須

 

日付または時刻の範囲の終了時です。

index

必須

 

数字のインデックス値。ColdFusion では、index を from の値に相当する数値に設定し、to の値に相当する数値に等しくなるまで、step の値に相当する数値でインクリメントします。

step

オプション

 1 日

インデックスをインクリメントする数値単位です。タイムスパンとして表されます。

次の例では、今日の日付から今日の日付に 30 日を加えた日付まで、1 回に 7 日の増分で日付を表示してループします。

 

<cfset fromDate = Now()> 
<cfset toDate = Now() + 30> 
<cfloop from=&quot;#fromDate#&quot; to=&quot;#toDate#&quot; index=&quot;i&quot; step=&quot;#CreateTimeSpan(7,0,0,0)#&quot;> 
    <cfoutput>#dateformat(i, &quot;mm/dd/yyyy&quot;)#<br /></cfoutput> 
</cfloop>

出力

11/26/2018 12/03/2018 12/10/2018 12/17/2018 12/24/2018

次の例は最初の例と同じですが、dateFormat() 関数の代わりに .dateTimeFormat() メンバー関数を使用します。

 

<cfset fromDate = Now()> 
<cfset toDate = Now() + 30> 
<cfloop from=&quot;#fromDate#&quot; to=&quot;#toDate#&quot; index=&quot;i&quot; step=&quot;#CreateTimeSpan(7,0,0,0)#&quot;> 
<cfset i = dateAdd(&quot;d&quot;, 0, i)><!---数字を日付に変換--->
    <cfoutput>#i.dateTimeFormat(&quot;mm/dd/yyyy&quot;)#</cfoutput> 
</cfloop>

出力

11/26/2018 12/03/2018 12/10/2018 12/17/2018 12/24/2018

次の例では、夜中の 0 時から 23 時 59 分 59 秒まで、時間を 30 分ずつインクリメントして表示します。

 

<cfset startTime = CreateTime(0,0,0)> 
<cfset endTime = CreateTime(23,59,59)> 
<cfloop from=&quot;#startTime#&quot; to=&quot;#endTime#&quot; index=&quot;i&quot; step=&quot;#CreateTimeSpan(0,0,30,0)#&quot;> 
    <cfoutput>#TimeFormat(i, &quot;hh:mm tt&quot;)#<br /></cfoutput> 
</cfloop>

出力

12:00 AM
12:30 AM
01:00 AM
01:30 AM
..........

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト