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 cf.Objective() 2014 (Bloomington, MN) with: Emily Christiansen and Simon Free and Dave Ferguson and Joel Hill and Dan Wilson and Jeff McDowell

Demonstration Of Date Object Formatting Using Date Prototyping

By Ben Nadel on

If anyone is interested, I put together this little demo for a dude who posted a comment on my site. It demonstrates how to apply a date and time mask to a Javascript Date object using regular expressions. It creates two methods that are prototyped to the Javascript Date object and therefore are available to all dates:

  • Date.prototype.dateFormat()
  • Date.prototype.timeFormat()

Regular Expression Date Mask Demo

http://www.bennadel.com/resources/demo/2/



Reader Comments

Hey, by the way there is what I would consider to be a "bug" in this. getMonth() is a zero based function, so months like January come back as 0 and December comes back as 11. It can be fixed like this:

"m": this.getMonth()+1,
"mm": ((this.getMonth()+1).toString().length == 1) ? ("0" + this.getMonth()+1) : this.getMonth()+1,

@James,

Thanks for the update. It seems to be handled differently in every language, so I am hesitant to call anything a bug. However, a zero-based month system never feels natural. You just want to say FIRST month (as in 1st as in 1) of the year.