dtSAStoJS function
by rawsas
JavaScript
// valid in ECMASCRIPT 6
// http://es6-features.org/#DefaultParameterValues
// for earlier versions, just remove default parameter.
function dtSAStoJS(dtSAS, dtType = 'DATE') {
// accepts SAS unformatted DATE or DATETIME
// dtType should be used to determine the above
// -315619200000 is equivalent to +new Date(1960,0,1)
// 86400000 is equivalent to 24h * 60m * 60s * 1000ms
if (dtSAS===null){
return null;
} else if (dtType === 'DATE') {
return new Date(-315619200000 + dtSAS * 86400000);
} else if (dtType === 'DATETIME') {
return new Date(-315619200000 + dtSAS * 1000);
} else {
console.log('Unknown dtType value - ' + dtType);
return null;
}
};
/*
alert(dtSAStoJS(20578,'DATE').toUTCString());
alert(dtSAStoJS(1776743820,'DATETIME').toUTCString());
*/