dateCompare

Description

Performs a full date/time comparison of two dates.

Categories

Related

Syntax

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

Attributes

AttributeDescriptionRequiredDefault
date1Date/time object, in the range 100 AD–9999 AD.
date2Date/time object, in the range 100 AD–9999 AD.
datePartOptional. 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, enclose it in quotation marks. Otherwise, it is interpreted as a numeric representation of a date/time object.

Example

<h3>DateCompare Example</h3> 
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" method="post"> 
<hr size = "2" color = "#0000A0"> 
Date 1 
<br><input type = "Text" name = "date1"  
        value = "<cfoutput>#DateFormat(Now())# #TimeFormat(Now())# 
</cfoutput>"> 
Date 2 
<br><input type = "Text" name = "date2"  
        value = "<cfoutput>#DateFormat(Now())# #TimeFormat(Now())# 
</cfoutput>"> 
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> 
<input type = "Submit" value = "Compare these dates" name = "">  
<input type = "reset"> 
</form>