!(function (t, e) { if ('object' == typeof exports && 'undefined' != typeof module) { module.exports = e(); } else { if ('function' == typeof define && define.amd) { define(e); } else { (t = 'undefined' != typeof globalThis ? globalThis : t || self).dayjs_plugin_timezone = e(); } } })(this, function () { 'use strict'; var t = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }; var e = {}; return function (n, i, o) { var r; var a = function (t, n, i) { if (void 0 === i) { i = {}; } var o = new Date(t); var r = (function (t, n) { if (void 0 === n) { n = {}; } var i = n.timeZoneName || 'short'; var o = t + '|' + i; var r = e[o]; r || ((r = new Intl.DateTimeFormat('en-US', { hour12: false, timeZone: t, year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: i })), (e[o] = r)); return r; })(n, i); return r.formatToParts(o); }; var u = function (e, n) { for (var i = a(e, n), r = [], u = 0; u < i.length; u += 1) { var f = i[u]; var s = f.type; var m = f.value; var c = t[s]; if (c >= 0) { r[c] = parseInt(m, 10); } } var d = r[3]; var l = 24 === d ? 0 : d; var v = r[0] + '-' + r[1] + '-' + r[2] + ' ' + l + ':' + r[4] + ':' + r[5] + ':000'; var h = +e; return (o.utc(v).valueOf() - (h -= h % 1000)) / 60000; }; var f = i.prototype; f.tz = function (t, e) { if (void 0 === t) { t = r; } var n = this.utcOffset(); var i = this.toDate(); var a = i.toLocaleString('en-US', { timeZone: t }); var u = Math.round((i - new Date(a)) / 1000 / 60); var f = o(a) .$set('millisecond', this.$ms) .utcOffset(15 * -Math.round(i.getTimezoneOffset() / 15) - u, true); if (e) { var s = f.utcOffset(); f = f.add(n - s, 'minute'); } f.$x.$timezone = t; return f; }; f.offsetName = function (t) { var e = this.$x.$timezone || o.tz.guess(); var n = a(this.valueOf(), e, { timeZoneName: t }).find(function (t) { return 'timezonename' === t.type.toLowerCase(); }); return n && n.value; }; var s = f.startOf; f.startOf = function (t, e) { if (!this.$x || !this.$x.$timezone) { return s.call(this, t, e); } var n = o(this.format('YYYY-MM-DD HH:mm:ss:SSS')); return s.call(n, t, e).tz(this.$x.$timezone, true); }; o.tz = function (t, e, n) { var i = n && e; var a = n || e || r; var f = u(+o(), a); if ('string' != typeof t) { return o(t).tz(a); } var s = (function (t, e, n) { var i = t - 60 * e * 1000; var o = u(i, n); if (e === o) { return [i, e]; } var r = u((i -= 60 * (o - e) * 1000), n); return o === r ? [i, o] : [t - 60 * Math.min(o, r) * 1000, Math.max(o, r)]; })(o.utc(t, i).valueOf(), f, a); var m = s[0]; var c = s[1]; var d = o(m).utcOffset(c); d.$x.$timezone = a; return d; }; o.tz.guess = function () { return Intl.DateTimeFormat().resolvedOptions().timeZone; }; o.tz.setDefault = function (t) { r = t; }; }; });