%PDF- %PDF-
| Direktori : /proc/self/root/usr/local/lib/node_modules/pm2/node_modules/dayjs/esm/plugin/timezone/ |
| Current File : //proc/self/root/usr/local/lib/node_modules/pm2/node_modules/dayjs/esm/plugin/timezone/index.js |
var typeToPos = {
year: 0,
month: 1,
day: 2,
hour: 3,
minute: 4,
second: 5
};
export default (function (o, c, d) {
var localUtcOffset = d().utcOffset();
var tzOffset = function tzOffset(timestamp, timezone) {
var date = new Date(timestamp);
var dtf = new Intl.DateTimeFormat('en-US', {
hour12: false,
timeZone: timezone,
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
var formatResult = dtf.formatToParts(date);
var filled = [];
for (var i = 0; i < formatResult.length; i += 1) {
var _formatResult$i = formatResult[i],
type = _formatResult$i.type,
value = _formatResult$i.value;
var pos = typeToPos[type];
if (pos >= 0) {
filled[pos] = parseInt(value, 10);
}
}
var utcString = filled[0] + "-" + filled[1] + "-" + filled[2] + " " + filled[3] + ":" + filled[4] + ":" + filled[5] + ":000";
var utcTs = d.utc(utcString).valueOf();
var asTS = +date;
var over = asTS % 1000;
asTS -= over;
return (utcTs - asTS) / (60 * 1000);
};
var fixOffset = function fixOffset(localTS, o0, tz) {
var utcGuess = localTS - o0 * 60 * 1000;
var o2 = tzOffset(utcGuess, tz);
if (o0 === o2) {
return [utcGuess, o0];
}
utcGuess -= (o2 - o0) * 60 * 1000;
var o3 = tzOffset(utcGuess, tz);
if (o2 === o3) {
return [utcGuess, o2];
}
return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];
};
var proto = c.prototype;
proto.tz = function (timezone) {
var target = this.toDate().toLocaleString('en-US', {
timeZone: timezone
});
var diff = (this.toDate() - new Date(target)) / 1000 / 60;
return d(target).utcOffset(localUtcOffset - diff, true);
};
d.tz = function (input, timezone) {
var previousOffset = tzOffset(+d(), timezone);
var localTs = d.utc(input).valueOf();
var _fixOffset = fixOffset(localTs, previousOffset, timezone),
targetTs = _fixOffset[0],
targetOffset = _fixOffset[1];
var ins = d(targetTs).utcOffset(targetOffset);
return ins;
};
d.tz.guess = function () {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
};
});