| ColdFusion MX | ||
| 目 次 > CFML リファレンス > ColdFusion 関数 > DateDiff |
|
|
|
|
||
date2 から date1 を引いた値の単位数を整数で取得します。
タイプ datepart の単位数
DateDiff("datepart","date1","date2")
DateAdd、DatePart、CreateTimeSpan
ColdFusion MX:
w 属性および ww 属性の変更 : 2 つの日付の間が丸何週間かを求めます。パラメータ |
説明 |
|---|---|
datepart |
どの単位で数えるかを指定する文字列です。たとえば、yyyy と指定すると、日付の差が丸何年かを求めます。
|
date1 |
西暦 100 ~ 9999 年の期間の日付/時刻オブジェクトです。 |
date2 |
西暦 100 ~ 9999 年の期間の日付/時刻オブジェクトです。 |
DateDiff 関数は、2 つの日付の間に datepart 単位でどれだけの差があるかを求めます。たとえば、datepart パラメータが "m" で、日付の差が 55 日の場合、この関数は 1 を返します。
日付の文字列定数は引用符で囲みます。数値のみのテキスト (たとえば 1932) を引用符で囲まずに指定した場合は、日付/時刻オブジェクトとして解釈されるため、結果は誤った値となります。
<cfif IsDefined("form.value")>
<cfset value = form.value>
</cfif>
<cfif IsDefined("form.type")>
<cfset type = form.type>
</cfif>
<cfif IsDefined("form.date1") and IsDefined("form.date2")>
<cfif IsDate(form.date1) and IsDate(form.date2)>
<p>この例では、DateDiff を使用して、date 1 と date 2 の間隔を調べます。
in
<cfswitch expression = "#form.type#">
<cfcase value="yyyy">年</cfcase>
<cfcase value="q">四半期</cfcase>
<cfcase value="q">四半期</cfcase>
<cfcase value="y">年間通算日</cfcase>
<cfcase value="d">日</cfcase>
<cfcase value="w">曜日</cfcase>
<cfcase value="ww">週</cfcase>
<cfcase value="h">時</cfcase>
<cfcase value="n">分</cfcase>
<cfcase value="s">秒</cfcase>
<cfdefaultcase>年</cfdefaultcase>
</cfswitch>
ここで、上の datepart を単位として使用します。
<cfif DateCompare("#form.date1#","#form.date2#") is not 0>
<p>間隔は <cfoutput>#Abs(DateDiff(type, form.date2, form.date1))#</cfoutput>
<cfswitch expression = "#form.type#">
<cfcase value="yyyy">年</cfcase>
<cfcase value="q">四半期</cfcase>
<cfcase value="q">四半期</cfcase>
<cfcase value="y">年間通算日</cfcase>
<cfcase value="d">日</cfcase>
<cfcase value="w">曜日</cfcase>
<cfcase value="ww">週</cfcase>
<cfcase value="h">時</cfcase>
<cfcase value="n">分</cfcase>
<cfcase value="s">秒</cfcase>
<cfdefaultcase>年</cfdefaultcase>
</cfswitch>です。
<cfelse>
<p>2 つは同じ日付です。どちらかの値を変えてみてください。
</cfif>
<cfelse>
<p>2 つの有効な日付/時刻値を次のような形式で入力してください。
<cfoutput> #DateFormat(Now())#</cfoutput>
</cfif>
</cfif>
<form action="index.cfm" method="post">
<pre>
日付 1
<input type="Text" name="date1" value="<CFOUTPUT>#DateFormat(Now())#</CFOUTPUT>">
日付 2
<input type="Text" name="date2" value="<CFOUTPUT>#DateFormat(Now())#</CFOUTPUT>">
差の表示に使う単位
<select name="type">
<option value="yyyy" selected>年
<option value="q">四半期
<option value="m">月
<option value="y">年間通算日
<option value="d">日
<option value="w">週日
<option value="ww">週
<option value="h">時
<option value="n">分
<option value="s">秒
</select>
</pre>
<input type="Submit" name=""><input type="RESET">
</form>
.
|
|
||
| 目 次 > CFML リファレンス > ColdFusion 関数 > DateDiff |
|
|