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