!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DateDifferencer=t():e.DateDifferencer=t()}(self,(()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{addDateTimeDiff:()=>w,addDayTimeDiff:()=>S,dateDiff:()=>O,dateTimeDiff:()=>M,dayDiff:()=>j,dayTimeDiff:()=>D});var r=function(e){return e%4==0&&e%100!=0||e%400==0},n=function(e,t){switch(t){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;case 4:case 6:case 9:case 11:return 30;default:return("number"==typeof e?r(e):e)?29:28}};function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],f=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);f=!0);}catch(e){s=!0,o=e}finally{try{if(!f&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r=0)return e%864e5;var t=864e5+e%864e5;return 864e5===t&&(t=0),t},h=function(e,t,r){var o,i,a,u=e.getFullYear(),f=e.getMonth()+1,s=e.getDate(),c=t.getFullYear(),l=t.getMonth()+1,y=t.getDate(),b=p(t),m=p(e);b1?y-=1:l>1?y=n(c,l-=1):(c-=1,l=12,y=31));var d,v=c-u,h=l-f;(h>0?(o=v,i=y>=s?h:h-1):h<0?(o=v-1,i=y>=s?h+12:h+11):y>=s?(o=v,i=0):(o=v-1,i=11),y>=s)?a=r?Math.min(y,n(u,f))-s:y-s:r?(f<12&&(y=Math.min(y,n(u,f+1))),a=y+(n(u,f)-s)):a=(d=l>1?n(c,l-1):31)>s?y+(d-s):y;return{earlierMillisecondsOfDay:m,laterMillisecondsOfDay:b,result:{years:o,months:i,days:a}}},g=function(e){return(e.b-e.a)/864e5},O=function(e,t){if(t>e)return h(e,t,!1).result;if(te){var r=h(e,t,!1),n=r.result,o=r.earlierMillisecondsOfDay,i=r.laterMillisecondsOfDay;return Object.assign(n,d(o,i))}if(tr.a)return b({days:Math.floor(g(r))},d(v(r.a),v(r.b)));if(r.b=12?(r+=Math.trunc(o/12),o%=12):o<0&&(r+=Math.trunc(o/12)-1,12===(o=12- -o%12)&&(o=0))};"number"==typeof t.months&&i(t.months);var a=e.getDate(),u=n(r,o+1);a>u&&(a=u);var f=function(e){if(0===(a+=e))i(-1),a=n(r,o+1);else if(a>28)for(;;){var t=n(r,o+1);if(a<=t)break;i(1),a-=t}else if(a<0)for(;;){i(-1);var u=n(r,o+1);if(-a=24?(f(Math.trunc(s/24)),s%=24):s<0&&(f(Math.trunc(s/24)-1),24===(s=24- -s%24)&&(s=0))};"number"==typeof t.hours&&c(t.hours);var l=e.getMinutes(),y=function(e){(l+=e)>=60?(c(Math.trunc(l/60)),l%=60):l<0&&(c(Math.trunc(l/60)-1),60===(l=60- -l%60)&&(l=0))};"number"==typeof t.minutes&&y(t.minutes);var b=e.getSeconds(),m=function(e){(b+=e)>=60?(y(Math.trunc(b/60)),b%=60):b<0&&(y(Math.trunc(b/60)-1),60===(b=60- -b%60)&&(b=0))};"number"==typeof t.seconds&&m(t.seconds);var d,p=e.getMilliseconds();return"number"==typeof t.milliseconds&&(d=t.milliseconds,(p+=d)>=1e3?(m(Math.trunc(p/1e3)),p%=1e3):p<0&&(m(Math.trunc(p/1e3)-1),1e3==(p=1e3- -p%1e3)&&(p=0))),new Date(r,o,a,s,l,b,p)},S=function(e,t){if("number"==typeof t)return new Date(e.getTime()+864e5*t);var r=e.getTime();return"number"==typeof t.days&&(r+=864e5*t.days),"number"==typeof t.hours&&(r+=36e5*t.hours),"number"==typeof t.minutes&&(r+=6e4*t.minutes),"number"==typeof t.seconds&&(r+=1e3*t.seconds),"number"==typeof t.milliseconds&&(r+=t.milliseconds),new Date(r)};return t})()));