UNPKG

@bizhermit/basic-utils

Version:
1 lines 4.79 kB
"use strict";var DatetimeUtils;Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertDate=exports.dateFormat=void 0,function(e){let t,a;!function(e){e.ja=["日","月","火","水","木","金","土"],e.en=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}(t=e.Week||(e.Week={})),function(e){e.En=["January","February","March","April","May","June","July","August","September","October","November","December"],e.en=["Jan.","Feb.","Mar.","Apr.","May","Jun","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."],e.Ja=["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}(a=e.Month||(e.Month={})),e.convert=e=>{if(null!=e){if("string"!=typeof e)return new Date(e);{let t=e.match(/^(\d{4})(\d{2}|$)(\d{2}|$)(\d{2}|$)(\d{2}|$)(\d{2}|$)(\d{3}|$)/);if(t||(t=e.match(/^(\d+)?(?:-|\/|年|$)(\d+)?(?:-|\/|月|$)(\d+)?(?:\s*|日\s*|T|$)(\d+)?(?::|時|$)(\d+)?(?::|分|$)(\d+)?(?:.|秒|$)(\d+)?(?:.*|$)/)),t)return new Date(Number(t[1]),Number(t[2]||1)-1,Number(t[3]||1),Number(t[4]||0),Number(t[5]||0),Number([t[6]||0]),Number(t[7]||0));if(t=e.match(/^(?:\w+)?\s(\w+)?\s(\d+)?\s(\d+)?\s(\d+)?:(\d+)?:(\d+)?/),t){const e=new RegExp(`^${t[1]}`,"i");return new Date(Number(t[3]),Math.max(a.En.findIndex((t=>e.exec(t))),0),Number(t[2]),Number(t[4]),Number(t[5]),Number(t[6]))}}}},e.format=(a,l="yyyy-MM-dd",n)=>{const r=e.convert(a);if(null!=r)return l.replace("yyyy",String(r.getFullYear())).replace("yy",`00${r.getFullYear()}`.slice(-2)).replace("MM",`0${r.getMonth()+1}`.slice(-2)).replace("M",String(r.getMonth()+1)).replace("dd",`0${r.getDate()}`.slice(-2)).replace("d",String(r.getDate())).replace("hh",`0${r.getHours()}`.slice(-2)).replace("h",String(r.getHours())).replace("mm",`0${r.getMinutes()}`.slice(-2)).replace("m",String(r.getMinutes())).replace("ss",`0${r.getSeconds()}`.slice(-2)).replace("s",String(r.getSeconds())).replace("SSS",`00${r.getMilliseconds()}`.slice(-3)).replace("SS",`00${r.getMilliseconds()}`.slice(-3).slice(2)).replace("S",String(r.getMilliseconds())).replace("w",("ja"===n?t.ja:"en"===n?t.en:n??t.ja)[r.getDay()])};const l=t=>t?e.copy(t):e.getDate();e.copy=e=>null==e?e:new Date(e),e.removeTime=(t,a=!1)=>{if(null==t)return t;let l=a?e.copy(t):t;return l.setHours(0,0,0,0),l},e.getDate=()=>e.removeTime(new Date),e.getDatetime=()=>new Date,e.getDaysDiff=(e,t)=>null==e||null==t?0:Math.floor(t.getTime()/864e5)-Math.floor(e.getTime()/864e5),e.getDays=(t,a)=>null==t&&null==a?0:Math.abs(e.getDaysDiff(t,a))+1,e.addDay=(e,t)=>(e.setDate(e.getDate()+t),e),e.addMonth=(e,t)=>(e.setMonth(e.getMonth()+t),e),e.addYear=(e,t)=>(e.setFullYear(e.getFullYear()+t),e),e.getFirstDateAtMonth=(e=new Date)=>new Date(e.getFullYear(),e.getMonth(),1),e.getLastDateAtMonth=(e=new Date)=>new Date(e.getFullYear(),e.getMonth()+1,0),e.getFirstDateAtYear=(e=new Date)=>new Date(e.getFullYear(),0,1),e.getLastDateAtYear=(e=new Date)=>new Date(e.getFullYear(),11,31),e.getPrevDate=t=>e.addDay(l(t),-1),e.getNextDate=t=>e.addDay(l(t),1),e.getPrevWeekDate=t=>e.addDay(l(t),-7),e.getNextWeekDate=t=>e.addDay(l(t),7),e.getPrevMonthDate=(e=new Date,t=!1)=>{const a=new Date(e.getFullYear(),e.getMonth()-1,e.getDate());return!0===t&&a.getDate()!==e.getDate()&&a.setDate(0),a},e.getNextMonthDate=(e=new Date,t=!1)=>{const a=new Date(e.getFullYear(),e.getMonth()+1,e.getDate());return!0===t&&a.getDate()!==e.getDate()&&a.setDate(0),a},e.getPrevYearDate=(e=new Date,t=!1)=>{const a=new Date(e.getFullYear()-1,e.getMonth(),e.getDate());return!0===t&&a.getDate()!==e.getDate()&&a.setDate(0),a},e.getNextYearDate=(e=new Date,t=!1)=>{const a=new Date(e.getFullYear()+1,e.getMonth(),e.getDate());return!0===t&&a.getDate()!==e.getDate()&&a.setDate(0),a},e.equal=(e,t)=>e?.getTime()==t?.getTime(),e.equalDate=(e,t)=>null!=e&&null!=t&&(e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()),e.equalDay=(e,t)=>null!=e&&null!=t&&e.getDate()===t.getDate(),e.equalYearMonth=(e,t)=>null!=e&&null!=t&&(e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()),e.equalMonth=(e,t)=>null!=e&&null!=t&&e.getMonth()===t.getMonth(),e.equalYear=(e,t)=>null!=e&&null!=t&&e.getFullYear()===t.getFullYear(),e.equalWeek=(e,t)=>null!=e&&null!=t&&e.getDay()===t.getDay(),e.equalMonthDay=(e,t)=>null!=e&&null!=t&&(e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()),e.isBefore=(e,t)=>e.getTime()>t.getTime(),e.isAfter=(e,t)=>e.getTime()<t.getTime(),e.isBeforeDate=(e,t)=>Math.floor(e.getTime()/864e5)>Math.floor(t.getTime()/864e5),e.isAfterDate=(e,t)=>Math.floor(e.getTime()/864e5)<Math.floor(t.getTime()/864e5),e.validContext=(t,a)=>null==t||null==a||e.getDaysDiff(t,a)>=0}(DatetimeUtils||(DatetimeUtils={})),exports.default=DatetimeUtils,exports.dateFormat=DatetimeUtils.format,exports.convertDate=DatetimeUtils.convert;