dayjs-ext
Version:
2KB immutable date time library alternative to Moment.js with the same modern API
3 lines (2 loc) • 1.47 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("timezone-support/dist/lookup-convert")):"function"==typeof define&&define.amd?define(["timezone-support/dist/lookup-convert"],t):e.dayjs_plugin_timeZone=t(e["timezone-lookup-convert"])}(this,function(a){"use strict";function o(e){return 9<e?e:"0"+e}function f(e,t){return(e<=0?(e=-e,"+"):"-")+o(Math.floor(e/60))+t+o(e%60)}return function(e,r){var t=r.prototype,u=t.parse,s=t.format;t.parse=function(t){u.call(this,t);var e=t.timeZone,o=t.convertTimeZone;if(e){var n=this.$d;try{var i=a.findTimeZone(e);!function(e,t,o){var n=t.year,i=t.month,r=t.day,u=t.dayOfWeek,s=t.hours,a=t.minutes,f=t.epoch,c=t.zone,m=e.$d;if(m.setTime(f),o){e.$Y=n,e.$M=i-1,e.$D=r,e.$W=u,e.$H=s,e.$m=a;var d=c.abbreviation,$=c.offset;e.$z=d,e.$o=$}else e.$Y=m.getFullYear(),e.$M=m.getMonth(),e.$D=m.getDate(),e.$W=m.getDay(),e.$H=m.getHours(),e.$m=m.getMinutes()}(this,o?a.getZonedTime(n,i):a.setTimeZone(n,i,{useUTC:!1}),o)}catch(e){n.setTime(Number.NaN),this.init(t)}}},t.format=function(e,t){void 0===t&&(t={}),"object"!=typeof e||e instanceof String||(t=e,e=void 0);var o,n,i=t.timeZone;return i?(o=new r({date:this.$d.valueOf(),locale:this.$L,timeZone:i,convertTimeZone:!0}),n=o,e=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/z|ZZ|Z/g,function(e){switch(e){case"z":return"["+n.$z+"]";case"Z":return f(n.$o,":");default:return f(n.$o,"")}})):o=this,s.call(o,e)}}});
//# sourceMappingURL=timeZone-custom.js.map