67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
|
// Capital month
|
||
|
var CAP_MONTHS = [ false, false, false, true, false, true, false, false, true, false, true, false ];
|
||
|
var MONTH_ABBR = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
|
||
|
var MONTH = [
|
||
|
"January", "February", "March", "April"
|
||
|
, "May", "June", "July", "August"
|
||
|
, "September", "October", "November", "December"
|
||
|
];
|
||
|
var DAY_ABBR = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ];
|
||
|
var DAY = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
|
||
|
|
||
|
var getOrdinalSuffix = function(day)
|
||
|
{
|
||
|
if (day < 4 || ( 20 < day && day < 24 )) {
|
||
|
if (day == 1 || day == 21) return "st";
|
||
|
else if (day == 2 || day == 22) return "nd";
|
||
|
else if (day == 3 || day == 23) return "rd";
|
||
|
}
|
||
|
else if (day == 31) return "st";
|
||
|
return "th";
|
||
|
};
|
||
|
|
||
|
module.exports = {
|
||
|
date_pretty: function( dateObj, plain )
|
||
|
{
|
||
|
return dateObj.getDate()
|
||
|
+ ( plain ? "" : "<sup>" )
|
||
|
+ getOrdinalSuffix( dateObj.getDate() )
|
||
|
+ ( plain ? " " : "</sup> " )
|
||
|
+ MONTH[ dateObj.getMonth() ]
|
||
|
+ ", "
|
||
|
+ dateObj.getFullYear()
|
||
|
;
|
||
|
}
|
||
|
, date_bMon: function( date ) { return MONTH[ date.getMonth() ]; }
|
||
|
, date_sDay: function( date ) { return DAY_ABBR[ date.getDay() ]; }
|
||
|
, date_short: function( date )
|
||
|
{
|
||
|
// Rearrange the date format
|
||
|
var d = date.toDateString().split( " " );
|
||
|
// ddd dd mmm yyyy
|
||
|
return d[2] + " " + d[1] + " " + d[3] + " " + d[0];
|
||
|
}
|
||
|
, date_comment: function( date )
|
||
|
{
|
||
|
var d = date.toDateString().split( " " );
|
||
|
var t = date.toTimeString().split( ":" );
|
||
|
var ampm = "AM";
|
||
|
var h = Number( t[0] );
|
||
|
if( 12 <= h )
|
||
|
{
|
||
|
ampm = "PM";
|
||
|
if( h != 12 ) h -= 12;
|
||
|
}
|
||
|
|
||
|
// h:mm AM/PM dd mmm, yyyy
|
||
|
return h + ":" + t[1] + " " + ampm
|
||
|
+ " " + d[1] + " " + d[3] + ", " + d[2] + " " + d[0];
|
||
|
}
|
||
|
, date_tzISODate: function( date )
|
||
|
{
|
||
|
var tzo = new Date().getTimezoneOffset() * 6e4;
|
||
|
var ndate = new Date( date.getTime() - tzo );
|
||
|
return ndate.toISOString().split( "T" )[0];
|
||
|
}
|
||
|
};
|