dayjs-ext
Version:
2KB immutable date time library alternative to Moment.js with the same modern API
3 lines (2 loc) • 1.62 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("timezone-support/dist/data"),require("timezone-support/dist/lookup-convert")):"function"==typeof define&&define.amd?define(["timezone-support/dist/data","timezone-support/dist/lookup-convert"],t):e.dayjs_plugin_timeZone=t(e["timezone-data"],e["timezone-lookup-convert"])}(this,function(e,s){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;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 s.populateTimeZones(e),function(e,r){var t=r.prototype,a=t.parse,u=t.format;t.parse=function(t){a.call(this,t);var e=t.timeZone,o=t.convertTimeZone;if(e){var n=this.$d;try{var i=s.findTimeZone(e);!function(e,t,o){var n=t.year,i=t.month,r=t.day,a=t.dayOfWeek,u=t.hours,s=t.minutes,f=t.epoch,m=t.zone,c=e.$d;if(c.setTime(f),o){e.$Y=n,e.$M=i-1,e.$D=r,e.$W=a,e.$H=u,e.$m=s;var d=m.abbreviation,p=m.offset;e.$z=d,e.$o=p}else e.$Y=c.getFullYear(),e.$M=c.getMonth(),e.$D=c.getDate(),e.$W=c.getDay(),e.$H=c.getHours(),e.$m=c.getMinutes()}(this,o?s.getZonedTime(n,i):s.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,u.call(o,e)}}});
//# sourceMappingURL=timeZone.js.map