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