1 //Source: http://stackoverflow.com/questions/498578/how-can-i-convert-a-date-value-in-utc-format-to-a-date-object-in-javascript
\r
3 convert : function (input){
\r
4 if (!(typeof input === "string")) throw "ISODate, convert: input must be a string";
\r
5 var d = input.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(([+-])(\d{2}):(\d{2})))$/i);
\r
6 if (!d) throw "ISODate, convert: Illegal format";
\r
8 Date.UTC(d[1],d[2]-1,d[3],d[4],d[5],d[6]|0,(d[6]*1000-((d[6]|0)*1000))|0,d[7]) +
\r
9 (d[7].toUpperCase() ==="Z" ? 0 : (d[10]*3600 + d[11]*60) * (d[9]==="-" ? 1000 : -1000))
\r
12 format : function(t,utc){
\r
13 if (typeof t === "string") t = this.convert(t);
\r
14 if (!(t instanceof Date)) throw "ISODate, format: t is not a date object";
\r
16 [t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()] :
\r
17 [t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()];
\r
19 return this.month[t[1]] + " " +this.ordinal(t[2]) + ", " +t[0] +
\r
20 " @ " + this.clock12(t[3],t[4]);
\r
22 month:["January","February","March","April","May","June","July","September","October","November","December"],
\r
23 ordinal:function(n) {
\r
24 return n+(["th","st","nd","rd"][(( n % 100 / 10) | 0) ===1 ? 0 : n % 10 < 4 ? n % 10 : 0 ]);
\r
26 clock12:function(h24,m,s){
\r
29 if (h12===0) h12=12;
\r
31 (m<10 ? "0" + m : m) +
\r
32 (isFinite(s) ? ":" + (s<10?"0"+s:s): "") +
\r
33 (h24<12 ? "AM":"PM");
\r