datefns_wall_timeseries

by tmtron

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.28.5/date_fns.min.js"></script>
<pre id=pre></pre>

TypeScript

/**
 * 31.03.2019 02:00 forward to 03:=0
 https://www.schulferien.org/oesterreich/zeit/zeitumstellung/2019/
 */

var originDateMillis = Date.UTC(2019, 2, 29, 1, 17, 0);
var originDate = new Date(originDateMillis);
var outputText = ''

function log(text) {
  outputText = outputText + '\n' + text;
}

function logDate(date, text) {
  outputText = outputText + '\n' + 
  date.toISOString()
  // +' / '+date.getTime() 
  + ' / '+date.toDateString() +'T'+ date.toTimeString() +': '+ text;
}

logDate(originDate, 'originDate');

log('add to origin');
for (var i=1; i<5; i++) {
	var newDate = new Date(originDate.getFullYear(), originDate.getMonth(), originDate.getDate()+i, originDate.getHours(), originDate.getMinutes(), originDate.getSeconds(), originDate.getMilliseconds());
logDate(newDate, 'newDate '+i);
}

log('iterative method- DO NOT USE');
// don't use iterative method - it will get an offset when we
// fall into the DLST pit
var refDate = originDate;
for (var i=1; i<5; i++) {
	refDate = new Date(refDate.getFullYear(), refDate.getMonth(), refDate.getDate()+1, refDate.getHours(), refDate.getMinutes(), refDate.getSeconds(), refDate.getMilliseconds());
logDate(refDate, 'refDate '+i);
}

/*
log('subtract from origin');
for (var i=1; i<50; i++) {
	var newDate = new Date(originDate.getFullYear(), originDate.getMonth(), originDate.getDate()-i, originDate.getHours(), originDate.getMinutes(), originDate.getSeconds(), originDate.getMilliseconds());
logDate(newDate, 'newDate '+i);
}
*/

var element = document.getElementById("pre")
element.innerHTML = outputText