# Quick Note On IsDate() vs. IsNumericDate()

Posted August 30, 2006 at 3:50 PM by Ben Nadel

Tags: ColdFusion

After my post yesterday on date math, someone sent me a question about IsDate() vs. IsNumericDate(). I briefly touch on the use of IsNumericDate() to determine if you have a numeric date, but I was not clear on exactly how it works. IsDate() takes a date/time object. IsNumericDate() takes a number. There are some caveats here. Since IsNumericDate() requires a number, if you send it a date/time object, ColdFusion will automatically convert the date/time object to a number, therefore allowing it to work. IsDate(), on the other hand, takes a date/time object and will NOT be true if passed a number, even if that number represents a date.

Take a look at this example:

• <!--- Get date/time object. --->
• <cfset dtNow = Now() />
•
• <!--- Get NUMERIC date value. --->
• <cfset flNow = (dtNow * 1) />
•
• <!--- Output the date and test methods. --->
• #DateFormat( dtNow )# - #IsDate( dtNow )# - #IsNumericDate( dtNow )#
•
• <!--- Output the numeric date and test methods. --->
• #DateFormat( flNow )# - #IsDate( flNow )# - #IsNumericDate( flNow )#

In that second line, just notice that I am multiplying the date by 1. This forces ColdFusion to convert the date/time object to a number. The code produces this output:

30-Aug-06 - YES - YES

30-Aug-06 - NO - YES

As you can see, a standard date/time object will return true for BOTH IsDate() and IsNumericDate(). A numeric date will return true for IsNumericDate(), but FALSE for IsDate(). Sorry if I was unclear about this before. As a safe guard, if you are working on a page where you might be working with numeric dates, I would recommend always using IsNumericDate() as it will give you the most useful responses.

### Looking For a New Job?

25% of job board revenue is donated to Kiva. Loans that change lives - Find out more »

Aug 17, 2010 at 10:58 AM // reply »

Ben, this article completely solved the issue I was having. Thanks for the great work, keep it up!

One note: am I misreading the CF :iveDocs, or does their note on the isDate() function specifically say it WILL work when passed a string, which obviously isn't the case since it needs a date object?

Aug 17, 2010 at 9:06 PM // reply »

@Michael,

isDate() will work with a string - but, it won't work with a string that represents a number... is what I think they are saying. So, for example, this will return false:

isDate( "123" )

... but this will return true:

isDate( "jun 1, 2010" )

... both of which are strings. Of course, I might be misunderstanding what the docs are saying.

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

 Author Name: Author Email: Author Website: Comment: Supported HTML tags for formatting: bold   italic   code Remember my information Subscribe to comments Send me a copy of this comment
InVision App - Prototyping Made Beautiful With Prototyping Tools Recent Blog Comments
Mar 9, 2014 at 10:55 AM
\$.stop() vs. \$.finish() In jQuery Animations
Nice feature! Thanks for sharing. :) Good for when you are making a 100% AJAX controlled site. ... read »
Mar 9, 2014 at 12:26 AM
Experimenting With Multiple Class Inheritance In Javascript
@bigboomshakala, Hi, I am want present so solution for multiple prototypical inheritance, but some restrictions. Please follow the link: http://arto8.site11.com/ArtoJS/multi-inheritance-prototype.ph ... read »
Mar 8, 2014 at 5:21 PM
hi Ben, how can we mention our own custom tags instead of using HTML tags in coldfusion? kindly revert with an example. ... read »
Mar 8, 2014 at 1:28 PM
Experimenting With Multiple Class Inheritance In Javascript
Hi, Agree with Artavazd, it's not inheritance. The proof : console.log(ben instanceof Person) // false console.log(ben instanceof Monkey) // false console.log(ben instanceof Ben) // true If " ... read »
Mar 7, 2014 at 8:31 PM
Sanity Check: \$index vs. DOM In AngularJS Directives
I had NOOOO idea you could pass the entire friend object into a method like this: removeFriend( friend ) . I was always using some ID of the object and passing that around back and forth between vie ... read »
Mar 7, 2014 at 10:43 AM
Project HUGE: Active Release Technique (ART) With Dr. Christopher Anselmi In NYC
Does anyone know of a GOOD A.R.T. Provider near the Binghamton,NY area? I have gone to a couple of people that said they do ART but they don't. It's just a massage. Thanks for any help you can give ... read »
Mar 7, 2014 at 8:44 AM
GMail Seems To Ignore The Return-Path Header Defined By The CFMail FailTo Attribute
So, is the header "Problems-to" no longer valid? I also add "return-path" via cfmailparam. ... read »
Mar 6, 2014 at 8:58 PM
Posting XML With ColdFusion, CFHttp, And CFHttpParam
ERROR2: Missing type node :( ... read »