dop-website-sdk
Version:
Wisetracker website sdk ( dop-website-sdk )
210 lines (207 loc) • 5.37 kB
JavaScript
// 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();
}
}