project files added
This commit is contained in:
Generated
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = getTimezoneOffsetInMilliseconds;
|
||||
var MILLISECONDS_IN_MINUTE = 60000;
|
||||
/**
|
||||
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
||||
* They usually appear for dates that denote time before the timezones were introduced
|
||||
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
||||
* and GMT+01:00:00 after that date)
|
||||
*
|
||||
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
|
||||
* which would lead to incorrect calculations.
|
||||
*
|
||||
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
||||
*/
|
||||
|
||||
function getTimezoneOffsetInMilliseconds(dirtyDate) {
|
||||
var date = new Date(dirtyDate.getTime());
|
||||
var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset());
|
||||
date.setSeconds(0, 0);
|
||||
var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE;
|
||||
return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
Reference in New Issue
Block a user