View comments | RSS feed

DateCompare

Description

Performs a full date/time comparison of two dates.

Return value

Category

Date and time functions

Syntax

DateCompare("date1", "date2" [, "datePart"])

See also

CreateDateTime, DatePart

Parameters

Parameter Description
date1
Date/time object, in the range 100 AD-9999 AD. See "How ColdFusion processes two-digit year values".
date2
Date/time object, in the range 100 AD-9999 AD. See "How ColdFusion processes two-digit year values".
datePart
Optional. String. Precision of the comparison.
  • s Precise to the second (default)
  • n Precise to the minute
  • h Precise to the hour
  • d Precise to the day
  • m Precise to the month
  • yyyy Precise to the year

Usage

When passing a date/time object as a string, you must enclose it in quotation marks. Otherwise, it is interpreted as a numeric representation of a date/time object.

Example

<h3>DateCompare Example</h3>
<p>The datecompare function compares two date/time values.
<cfif IsDefined("FORM.date1")>
  <cfif IsDate(FORM.date1) and IsDate(FORM.date2)>
    <cfset comparison = DateCompare(FORM.date1, FORM.date2, FORM.precision)>

<!--- switch on the variable to give various responses --->
    <cfswitch expression = #comparison#>
      <cfcase value = "-1">
        <h3><cfoutput>#DateFormat(FORM.date1)# 
        #TimeFormat(FORM.date1)#</cfoutput> (Date 1) is
        earlier than <cfoutput>#DateFormat(FORM.date2)#
        #TimeFormat(FORM.date2)#</cfoutput> (Date 2)</h3>
        <I>The dates are not equal</I>
      </cfcase>
      <cfcase value = "0">
        <h3><cfoutput>#DateFormat(FORM.date1)#
        #TimeFormat(FORM.date1)#</cfoutput> (Date 1) is equal
        to <cfoutput>#DateFormat(FORM.date2)#
        #TimeFormat(FORM.date2)#</cfoutput> (Date 2)</h3>
        <I>The dates are equal!</I>
      </cfcase>
      <cfcase value = "1">
        <h3><cfoutput>#DateFormat(FORM.date1)#
        #TimeFormat(FORM.date1)#</cfoutput> (Date 1) is later
        than <cfoutput>#DateFormat(FORM.date2)#
        #TimeFormat(FORM.date2)#</cfoutput> (Date 2)</h3>
        <I>The dates are not equal</I>
      </cfcase>
      <CFDEFAULTCASE>
        <h3>This is the default case</h3>
      </CFDEFAULTCASE>
    </cfswitch>
  <cfelse>
    <h3>Enter two valid date values</h3>
  </cfif>
</cfif>

<form action = "datecompare.cfm">
<hr size = "2" color = "#0000A0">
<p>Date 1
<br><input type = "Text" name = "date1" 
    value = "<cfoutput>#DateFormat(Now())# #TimeFormat(Now())#
</cfoutput>">
<p>Date 2
<br><input type = "Text" name = "date2" 
    value = "<cfoutput>#DateFormat(Now())# #TimeFormat(Now())#
</cfoutput>">
<p>Specify precision to the:
<br><select name = "precision">
      <option value = "s">
        Second
      </option>  
      <option value = "n">
        Minute
      </option>  
      <option value = "h">
        Hour
      </option>  
      <option value = "d">
        Day
      </option>
      <option value = "m">
        Month
      </option>  
      <option value = "yyyy">
        Year
      </option>
  </select>
<p><input type = "Submit" value = "Compare these dates" name = ""> 
<input type = "reset">
</form>

ColdFusion 9 | ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | Bug Reporting

Version 6

Comments are no longer accepted for ColdFusion MX. ColdFusion 8 is the current version.

Comments


maxgsilverscape said on Nov 23, 2004 at 1:37 PM :
Though I think most understand what the terms mean, it might be better to replace "greater than" and "less than" in this section with "later than" and "earlier than", as the first two terms are a bit confusing with regard to dates and times.

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/functions-pt156.htm