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());
*/