DATECOMPARE  
説明

2 つの日付の日付時刻の詳細比較を行います。

 
戻り値
  • date1 が date2 より前の日付である場合は -1
  • date1 が date2 と等しい場合は 0
  • date1 が date2 より後の日付である場合は 1
 
カテゴリ

日付および時刻関数

 
関数のシンタックス
DateCompare("date1", "date2" [, "datePart"])
 
関連項目

CreateDateTime, DatePart

 
パラメータ

 
使用方法

日付時刻オブジェクトを文字列として渡すときは、そのオブジェクトを引用符で囲む必要があります。引用符で囲まない場合、そのオブジェクトは日付時刻オブジェクトの数値表示として解釈されます。

 
<h3>DateCompare の例</h3>
<p>DateCompare 関数は 2 つの日付時刻の値を比較します。
<cfif IsDefined("FORM.date1")>
   <cfif IsDate(FORM.date1) and IsDate(FORM.date2)>
      <cfset comparison = DateCompare(FORM.date1, FORM.date2, FORM.precision)>

<!--- 変数を切り替えてさまざまなレスポンスを表示 --->
      <cfswitch expression = #comparison#>
         <cfcase value = "-1">
            <h3><cfoutput>#DateFormat(FORM.date1)#
            #TimeFormat(FORM.date1)#</cfoutput> (Date 1) は
            <cfoutput>#DateFormat(FORM.date2)# より前の日付です。
            #TimeFormat(FORM.date2)#</cfoutput> (Date 2)</h3>
            <I>これらの日付は等しくありません。</I>
         </cfcase>
         <cfcase value = "0">
            <h3><cfoutput>#DateFormat(FORM.date1)#
            #TimeFormat(FORM.date1)#</cfoutput> (Date 1) は
            <cfoutput>#DateFormat(FORM.date2)# と同じ日付です。
            #TimeFormat(FORM.date2)#</cfoutput> (Date 2)</h3>
            <I>これらの日付は等しいです。</I>
         </cfcase>
         <cfcase value = "1">
            <h3><cfoutput>#DateFormat(FORM.date1)#
            #TimeFormat(FORM.date1)#</cfoutput> (Date 1) は
            <cfoutput>#DateFormat(FORM.date2)# より後の日付です。
            #TimeFormat(FORM.date2)#</cfoutput> (Date 2)</h3>
            <I>これらの日付は等しくありません。</I>
         </cfcase>
         <CFDEFAULTCASE>
            <h3>これはデフォルトの場合です。</h3>
         </CFDEFAULTCASE>
      </cfswitch>
   <cfelse>
      <h3>2 つの有効な日付を入力します。</h3>
   </cfif>
</cfif>

<form action = "datecompare.cfm" method="post">
<hr size = "2" color = "#0000A0">
<p>日付 1
<br><input type = "Text" name = "date1" 
      value = "<cfoutput>#DateFormat(Now())# #TimeFormat(Now())#
</cfoutput>">
<p>日付 2
<br><input type = "Text" name = "date2" 
      value = "<cfoutput>#DateFormat(Now())# #TimeFormat(Now())#
</cfoutput>">
<p>次のように精度を指定します。
<br><select name = "precision">
         <option value = "s">
            秒
         </option>   
         <option value = "n">
            分
         </option>   
         <option value = "h">
            Hour
         </option>   
         <option value = "d">
            Day
         </option>
         <option value = "m">
            月
         </option>   
         <option value = "yyyy">
            年
         </option>
   </select>
<p><input type = "Submit" value = "日付を比較" name = "">
<input type = "reset">
</form>
DATE1  
日付時刻オブジェクトです。値の範囲は西暦 100 〜 9999 年です。
DATE2  
日付時刻オブジェクトです。値の範囲は西暦 100 〜 9999 年です。
DATEPART  
オプションです。文字列で指定します。比較の精度を表します。
  • s 秒の精度 (デフォルト)
  • n 分の精度
  • h 時の精度
  • d 日の精度
  • m 月の精度
  • yyyy 年の精度