123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- // date function
- function date_range_calculator(n, d = new Date(), last = false) {
- const firDay = days_left_in_range(n, d)
- let lasDay
- firDay.setMonth(firDay.getMonth() - (n - 1))
- firDay.setDate(1)
- if (last) {
- firDay.setMonth(firDay.getMonth() - n)
- lasDay = days_left_in_range(n, firDay)
- } else {
- lasDay = days_left_in_range(n, d)
- }
- return [firDay, lasDay]
- }
- function date_to_sting(d, type = 1) {
- var date = new Date(d);
- switch (type) {
- case 1:
- return moment(date).format('YYYY-MM-DD');
- case 2:
- return moment(date).format('YYYYMMDD');
- default:
- break;
- }
- }
- function get_now_time_stamp() {
- return Math.round(new Date().getTime() / 1000);
- }
- function get_time_stamp_for(date) {
- return date.getTime() / 1000;
- }
- function days_left_in_range(n, d) {
- d = d || new Date();
- var qEnd = new Date(d);
- qEnd.setMonth(qEnd.getMonth() + n - qEnd.getMonth() % n, 0);
- return qEnd;
- }
- function last_date(_today) {
- let day = new Date(_today.getFullYear(), _today.getMonth()+1,0);
- day = _today.getFullYear()+"-"+("0"+(day.getMonth()+1)).slice(-2)+"-"
- +("0"+(day.getDate())).slice(-2);
- return day;
- }
- function to_date(date_str) {
- var yyyyMMdd = String(date_str);
- var sYear = yyyyMMdd.substring(0,4);
- var sMonth = yyyyMMdd.substring(4,6);
- var sDate = yyyyMMdd.substring(6,8);
- return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
- }
- function date_range_vending_machine(date_range, current_date = moment(new Date()).format('YYYY-MM-DD'), mode = 0) {
- let firDay = '1990-01-01', lasDay = '2100-12-31';
- let currDay = ''
- switch (date_range) {
- case 'day':
- currDay = new Date(current_date)
- currDay.setDate(currDay.getDate() + mode)
- firDay = currDay
- lasDay = currDay
- firDay.setDate(firDay.getDate())
- lasDay.setDate(lasDay.getDate())
- break;
- case 'yesterday':
- firDay = new Date()
- lasDay = new Date()
- firDay.setDate(firDay.getDate() - 1)
- lasDay.setDate(lasDay.getDate() - 1)
- break;
- case 'week':
- currDay = new Date(current_date)
- currDay.setDate( currDay.getDate() + (7 * mode) )
- firDay = moment(currDay).startOf('isoWeek').format('YYYY-MM-DD')
- lasDay = moment(firDay).day(+7)
- break;
- case 'last-week':
- firDay = moment(new Date()).startOf('isoWeek').format('YYYY-MM-DD')
- firDay = moment(firDay).day(-6)
- lasDay = moment(firDay).day(+7)
- break;
- case 'month':
- currDay = new Date(current_date);
- currDay.setMonth( currDay.getMonth() + mode );
- [firDay, lasDay] = date_range_calculator(1, currDay)
- break;
- case 'last-month':
- [firDay, lasDay] = date_range_calculator(1, true)
- break;
- case 'quarterly':
- currDay = new Date(current_date);
- currDay.setMonth( currDay.getMonth() + (3 * mode) );
- [firDay, lasDay] = date_range_calculator(3, currDay)
- break;
- case 'last-quarterly':
- [firDay, lasDay] = date_range_calculator(3, true)
- break;
- case 'semiannual':
- currDay = new Date(current_date);
- currDay.setMonth( currDay.getMonth() + (6 * mode) );
- [firDay, lasDay] = date_range_calculator(6, currDay)
- break;
- case 'last-semiannual':
- [firDay, lasDay] = date_range_calculator(6, true)
- break;
- case 'year':
- currDay = new Date(current_date);
- currDay.setMonth( currDay.getMonth() + (12 * mode) );
- [firDay, lasDay] = date_range_calculator(12, currDay)
- break;
- case 'last-year':
- [firDay, lasDay] = date_range_calculator(12, true)
- break;
- default:
- break;
- }
- return [firDay, lasDay, currDay]
- }
- function timeForToday(value) {
- value.time
- const today = new Date();
- const timeValue = new Date(Number(value + '000'));
- const betweenTime = Math.floor((today.getTime() - timeValue.getTime()) / 1000 / 60);
- if (betweenTime < 1) return '방금전';
- if (betweenTime < 60) {
- return `${betweenTime}분전`;
- }
- const betweenTimeHour = Math.floor(betweenTime / 60);
- if (betweenTimeHour < 24) {
- return `${betweenTimeHour}시간전`;
- }
- const betweenTimeDay = Math.floor(betweenTime / 60 / 24);
- if (betweenTimeDay < 365) {
- return `${betweenTimeDay}일전`;
- }
- return `${Math.floor(betweenTimeDay / 365)}년전`;
- }
|