@reactual/handsontable
Version:
Spreadsheet-like data grid editor
26 lines (21 loc) • 829 B
JavaScript
;
exports.__esModule = true;
exports.getNormalizedDate = getNormalizedDate;
/* eslint-disable import/prefer-default-export */
/**
* Get normalized Date object for the ISO formatted date strings.
* Natively, the date object parsed from a ISO 8601 string will be offsetted by the timezone difference, which may result in returning a wrong date.
* See: Github issue #3338.
*
* @param {String} dateString String representing the date.
* @returns {Date} The proper Date object.
*/
function getNormalizedDate(dateString) {
var nativeDate = new Date(dateString);
// NaN if dateString is not in ISO format
if (!isNaN(new Date(dateString + "T00:00").getDate())) {
// Compensate timezone offset
return new Date(nativeDate.getTime() + nativeDate.getTimezoneOffset() * 60000);
}
return nativeDate;
}