Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at Scotch On The Rock (SOTR) 2010 (London) with: Andy Allan

Kinky Calendar Leap Year Update

By Ben Nadel on
Tags: ColdFusion

Just a quick update - Peter Bell pointed out to me that my ColdFusion Kinky Calendar system was breaking on my site. I took a quick look, and indeed it was. Oh No! So, I threw on my ColdFusion ninja suit and jumped into action. The problem was a little mysterious to debug, but I finally narrowed it down to a leap year problem. The leap year itself was not causing the problem; the problem was that I had some code that looked like this:

  • CreateDate(
  • (Year( start_date ) - 1),
  • Month( start_date ),
  • Day( start_date )
  • )

The problem here is that on February 29th of this year, the above code tried to create the 29th of last year. Of course, there was no February 29th of last year. This was an easy fix with some conditional logic.

Thanks Peter for bringing that to my attention. I have updated the Kinky Calendar project page with a new ZIP download.

Tweet This Fascinating post by @BenNadel - Kinky Calendar Leap Year Update Thanks my man — you rock the party that rocks the body!

Looking For A New Job?

100% of job board revenue is donated to Kiva. Loans that change livesFind out more »

Reader Comments

@Sami,

It was the _functions.cfm file. It was several different lines for the month repeat and the year repeat. It's probably just easiest to download the ZIP and replace that function. Or, if you just want to swap out those case statements:

<!--- Repeat monthly. --->
<cfcase value="4">

and

<!--- Repeat yearly. --->
<cfcase value="5">

@Steve,

Hmmm, not sure. I think you might be on to something :) I love when I overlook the most obvious solution! Thanks Steve.

Reply to this Comment

@Steve,

Thanks for the tip. I updated the code with your DateAdd() suggestion. Seems to work like a charm.

Reply to this Comment

I have not gotten this thing to work AT ALL.

There is a request variable somewhere that keeps giving me an error

Please post a working copy without the request.dsn.username VARIABLES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Reply to this Comment

I cannot post a version without that or none of it would work. I use that variable to pull data out of the database.

Reply to this Comment

Post A Comment

You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
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.