Date extension
Less is more: short Date extension
by bizamajig
HTML
<script src="http://kooiinc.github.io/JSHelpers/Helpers-min.js"></script>
JavaScript
Helpers.extendDate('EN'); // from Helpers, view code in comment hereafter
var log = Helpers.log2Screen;
var dt = new Date
,thismonth = getM(dt.getMonth()+1,dt.getFullYear(),'en')
,dashed = '<br>' + '-'.repeat(103) + '<br>';
log(
'Today is '
,'<b>', dt.format('WDU MM d, yyyy'), '</b>. '
,'The current time is '
,'<b>', dt.format('hh:mi:ss'), '</b>'
, dashed
,' Let\'s enumerate all days for this month ('
,'<i>', dt.format('MM yyyy'), '</i>), '
,'using '
, '`[date].add`'
, dashed
, thismonth
.map( function (v) { return v.format('WDU MM d'); } )
.join('<br>')
);
function getM(m, y, lang){
var d = new Date([y,m,1].join('/'))
,dates = [new Date(d)] // first date
;
m -= 1;
while (d.getMonth() == m ){
dates.push(d.add('d', 1, false, true));
}
return dates.slice(0, -1);
}
// simple date extender code
// the actual code is loaded from Helper library
/*
function useDTF(lang) {
lang = lang || 'NL';
if (!Date.prototype.add) {
(function() {
var fragments = {
'd' : 'Date'
,'m' : 'Month'
,'y' : 'FullYear'
,'h' : 'Hours'
,'mi': 'Minutes'
,'s' : 'Seconds'
,'ms': 'MilliSeconds'
, get: function(frag,get){ return get && 'get'+this[frag] || 'set'+this[frag]; }
}
,weekdays = {
NL: toEnum(('zondag,maandag,dinsdag,woensdag,donderdag,' +
'vrijdag,zaterdag').split(','))
,EN: toEnum(('sunday,monday,tuesday,wednesday,thursday,' +
'friday,saturday').split(','))
}
,months = {
...