|
DateDiff
DescriptionDetermines
the integer number of units by which date1 is less than date2.
ReturnsA number
of units, of type datepart.
Function syntaxDateDiff("datepart", "date1", "date2")
HistoryColdFusion
MX:
Changed how negative date differences are calculated:
this function calculates negative date differences correctly; its
output may be different from that in earlier releases.
Changed the w and ww masks;
they determine the number of full weeks between the two dates.
Parameters
Parameter
|
Description
|
datepart
|
String that specifies the units in which
to count; for example yyyy requests a date difference in whole years.
|
date1
|
Date/time object, in the range 100 AD–9999
AD.
|
date2
|
Date/time object, in the range 100 AD–9999
AD.
|
UsageThe DateDiff function
determines the number of complete datepart units between
the two dates; for example, if the datepart parameter is
"m" and the dates differ by 55 days, the function returns 1.
Enclose
string constant dates in quotation marks. If the text contains only numbers
(such 1932), and is not surrounded by quotation marks, ColdFusion interprets
it as a date/time object, resulting in an incorrect value.
Example<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>This example uses DateDiff to determine the difference
in
<cfswitch expression = "#form.type#">
<cfcase value="yyyy">years</cfcase>
<cfcase value="q">quarters</cfcase>
<cfcase value="m">months</cfcase>
<cfcase value="y">days</cfcase>
<cfcase value="d">days</cfcase>
<cfcase value="w">weekdays</cfcase>
<cfcase value="ww">weeks</cfcase>
<cfcase value="h">hours</cfcase>
<cfcase value="n">minutes</cfcase>
<cfcase value="s">seconds</cfcase>
<cfdefaultcase>years</cfdefaultcase>
</cfswitch>
dateparts between date1 and date2.
<cfif DateCompare("#form.date1#","#form.date2#") is not 0>
<p>The difference is <cfoutput>#Abs(DateDiff(type, form.date2, form.date1))#</cfoutput>
<cfswitch expression = "#form.type#">
<cfcase value="yyyy">years</cfcase>
<cfcase value="q">quarters</cfcase>
<cfcase value="m">months</cfcase>
<cfcase value="y">days</cfcase>
<cfcase value="d">days</cfcase>
<cfcase value="w">weekdays</cfcase>
<cfcase value="ww">weeks</cfcase>
<cfcase value="h">hours</cfcase>
<cfcase value="n">minutes</cfcase>
<cfcase value="s">seconds</cfcase>
<cfdefaultcase>years</cfdefaultcase>
</cfswitch>.
<cfelse>
<p>The two dates are equal!Try changing one of the values ...
</cfif>
<cfelse>
<p>Please enter two valid date/time values, formatted like this:
<cfoutput>#DateFormat(Now())#</cfoutput>
</cfif>
</cfif>
<form action="index.cfm" method="post">
<pre>
Date 1
<input type="Text" name="date1" value="<cfoutput>#DateFormat(Now())#</cfoutput>">
Date 2
<input type="Text" name="date2" value="<cfoutput>#DateFormat(Now())#</cfoutput>">
What kind of unit to show difference?
<select name="type">
<option value="yyyy" selected>years
<option value="q">quarters
<option value="m">months
<option value="y">days of year
<option value="d">days
<option value="w">weekdays
<option value="ww">weeks
<option value="h">hours
<option value="n">minutes
<option value="s">seconds
</select>
</pre>
<input type="Submit" name=""><input type="Reset">
</form>
|