UNPKG

dop-website-sdk

Version:

Wisetracker website sdk ( dop-website-sdk )

210 lines (207 loc) 5.37 kB
// timeutil.js export class TimeUtil { constructor() { this.date = new Date(); this.SECOND = 1 * 1000; this.MINUTE = 60 * this.SECOND; this.HOUR = 60 * this.MINUTE; this.DAY = 24 * this.HOUR; } /** * 현재 년 을 리턴합니다. * @returns */ getY() { return "" + this.date.getFullYear(); } /** * 현재 년월 을 리턴합니다. * @returns */ getYM() { var month = this.date.getMonth() + 1; if (Number(month) < 10) { month = "0" + month; } return "" + this.date.getFullYear() + "" + month; } /** * 현재 년월일 을 리턴합니다. * @returns */ getYMD() { var month = this.date.getMonth() + 1; var day = this.date.getDate(); if (Number(month) < 10) { month = "0" + month; } if (Number(day) < 10) { day = "0" + day; } return "" + this.date.getFullYear() + "" + month + "" + day; } /** * 현재 년월일시 을 리턴합니다. * @returns */ getYMDH() { var month = this.date.getMonth() + 1; var day = this.date.getDate(); var hrs = this.date.getHours(); if (Number(month) < 10) { month = "0" + month; } if (Number(day) < 10) { day = "0" + day; } if (Number(hrs) < 10) { hrs = "0" + hrs; } return "" + this.date.getFullYear() + "" + month + "" + day + "" + hrs; } /** * 현재 년월일시분 을 리턴합니다. * @returns */ getYMDHM() { var month = this.date.getMonth() + 1; var day = this.date.getDate(); var hrs = this.date.getHours(); var min = this.date.getMinutes(); if (Number(month) < 10) { month = "0" + month; } if (Number(day) < 10) { day = "0" + day; } if (Number(hrs) < 10) { hrs = "0" + hrs; } if (Number(min) < 10) { min = "0" + min; } return "" + this.date.getFullYear() + "" + month + "" + day + "" + hrs + "" + min; } /** * 현재 년월일시분초 을 리턴합니다. * @returns */ getYMDHMS() { var month = this.date.getMonth() + 1; var day = this.date.getDate(); var hrs = this.date.getHours(); var min = this.date.getMinutes(); var sec = this.date.getSeconds(); if (Number(month) < 10) { month = "0" + month; } if (Number(day) < 10) { day = "0" + day; } if (Number(hrs) < 10) { hrs = "0" + hrs; } if (Number(min) < 10) { min = "0" + min; } if (Number(sec) < 10) { sec = "0" + sec; } return "" + this.date.getFullYear() + "" + month + "" + day + "" + hrs + "" + min + "" + sec; } /** * 현재 년월일시분초밀리초 을 리턴합니다. * @returns */ getYMDHMS_S() { var month = this.date.getMonth() + 1; var day = this.date.getDate(); var hrs = this.date.getHours(); var min = this.date.getMinutes(); var sec = this.date.getSeconds(); if (Number(month) < 10) { month = "0" + month; } if (Number(day) < 10) { day = "0" + day; } if (Number(hrs) < 10) { hrs = "0" + hrs; } if (Number(min) < 10) { min = "0" + min; } if (Number(sec) < 10) { sec = "0" + sec; } return "" + this.date.getFullYear() + "" + month + "" + day + "" + hrs + "" + min + "" + sec + "" + this.date.getMilliseconds(); } /** * 주어진 날짜의 차이 일을 구합니다. * @param sday - 시작일 * @param eday - 종료일 * @returns {number} */ formatDiffDays(sday, eday) { var date1 = new Date(sday.substr(0, 4), sday.substr(4, 2) - 1, sday.substr(6, 2)); var date2 = new Date(eday.substr(0, 4), eday.substr(4, 2) - 1, eday.substr(6, 2)); var interval = date2 - date1; var day = 1000 * 60 * 60 * 24; var month = day * 30; var year = month * 12; return parseInt(interval / day); } /** * 이전 일을 구합니다. * @param dayPrefix - -일수 (number) * @param format - 포맷팅 여부 (number) * @returns {Date} */ getBeforeAfterDate(dayPrefix, format) { var transDate = new Date(); var processTime = this.date.getTime() + parseInt(dayPrefix) * 24 * 60 * 60 * 1000; transDate.setTime(processTime); if (format) { return new this.formatYMD(transDate); } else { return transDate; } } /** * DAU, WAU, WAU2, MAU 만료 일자를 리턴한다. * @public ***/ getDauExpireTime(expire) { expire.setHours(23); expire.setMinutes(59); expire.setSeconds(59); expire.setMilliseconds(999); return expire.getTime(); } getWauExpireTime(expire) { expire.setHours(23); expire.setMinutes(59); expire.setSeconds(59); expire.setMilliseconds(999); expire.setDate(expire.getDate() + (6 - expire.getDay())); return expire.getTime(); } getWau2ExpireTime(expire) { expire.setHours(23); expire.setMinutes(59); expire.setSeconds(59); expire.setMilliseconds(999); if (expire.getDay() > 0) { expire.setDate(expire.getDate() + (6 - expire.getDay()) + 1); } return expire.getTime(); } getMauExpireTime(expire) { expire.setHours(23); expire.setMinutes(59); expire.setSeconds(59); expire.setMilliseconds(999); expire.setDate(new Date(expire.getFullYear(), expire.getMonth() + 1, 0).getDate()); return expire.getTime(); } }