封装和时间格式化相关的js,持续更新中...

注意:如果是移动端使用切记ios兼容 把 ‘-’ 换成‘/’

1.获取当前时间 使用:let time = formateDates(new Date(), 'Y-M-D')

function formateDate(datetime, type) {
	var year = datetime.getFullYear(),
		month = ("0" + (datetime.getMonth() + 1)).slice(-2),
		date = ("0" + datetime.getDate()).slice(-2),
		hour = ("0" + datetime.getHours()).slice(-2),
		minute = ("0" + datetime.getMinutes()).slice(-2),
		second = ("0" + datetime.getSeconds()).slice(-2);
	if (type === "Y-M-D h:min:s") {
		var result = year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
	} else if (type === "Y-M-D") {
		var result = year + "年" + month + "月" + date + "日";
	}
	if (type === "h:min:s") {
		var result = hour + ":" + minute + ":" + second;
	} else if (type === "h") {
		var result = hour;
	} else if (type === "min") {
		var result = minute;
	}
	return result;
}

2.获取当前时间时间戳 使用:let time = timeStamp()

function timeStamp() {
	let result = new Date().getTime().toString()
	return result;
}

3.判断是否是一天 使用:let time = isSameDay('1632991308575')

function isSameDay(timeStamp) {
	let dateA = new Date(timeStamp);
	let dateB = new Date();
	return (dateA.setHours(0, 0, 0, 0) == dateB.setHours(0, 0, 0, 0));
}

4.获取当天指定时刻的时间戳 使用:let time = appointTime('08:00:00')

function appointTime(time) {
	var date = new Date();
	var month = parseInt(date.getMonth() + 1);
	var day = date.getDate();
	if (month < 10) {
		month = '0' + month
	}
	if (day < 10) {
		day = '0' + day
	}
	let times = date.getFullYear() + '-' + month + '-' + day + ' ' + time
	let timeStampA = new Date(times).getTime().toString()
	return timeStampA
}

5.获取当前月份的第一天 使用:let time = getCurrentMonthFirst()

function getCurrentMonthFirst() {
	var date = new Date();
	date.setDate(1);
	var year = date.getFullYear();
	var month = parseInt(date.getMonth() + 1);
	var day = date.getDate();
	  if (month < 10) {
	        month = '0' + month
	  }
	  if (day < 10) {
	        day = '0' + day
	}
	return year + '年' + month + '月' + day + '日';
}

6.获取当前月份的最后一天 使用:let time = getCurrentMonthLast()

function getCurrentMonthLast() {
	var date = new Date();
	var currentMonth = date.getMonth();
	var nextMonth = ++currentMonth;
	var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
	var oneDay = 1000 * 60 * 60 * 24;
	var lastTime = new Date(nextMonthFirstDay - oneDay);
	var year = date.getFullYear();
	var month = parseInt(lastTime.getMonth() + 1);
	var day = lastTime.getDate();
	if (month < 10) {
	    month = '0' + month
	}
	if (day < 10) {
	    day = '0' + day
	}
	return year + '年' + month + '月' + day + '日';
}

7.获取所选月份的第一天 使用:let time = getChooseMonthFirst('2021-10')

function getChooseMonthFirst(val) {
	var startdate = new Date(val);
	startdate.setDate(1);
	let astartdate = new Date(startdate).getTime()-28800000;
	var date = new Date(startdate);
	var y = date.getFullYear();
	var m = date.getMonth() + 1;
	var d = date.getDate();
	var Time = y + '年' + m + '月' + d + '日' 
	var arr = [Time,astartdate]
	return arr
};

8.获取所选月份的最后一天 使用:let time = getChooseMonthLast('2021-10')

function getChooseMonthLast(val) {
	var endDate = new Date(val);
	var month = endDate.getMonth();
	var nextMonth = ++month;
	var nextMonthFirstDay = new Date(endDate.getFullYear(), nextMonth, 1);
	var oneDay = 1000 * 60 * 60 * 24;
	var lastDay = new Date(nextMonthFirstDay-oneDay).getTime()+86399000;
	var date = new Date(lastDay);
	var y = date.getFullYear();
	var m = date.getMonth() + 1;
	var d = date.getDate();
	var Time = y + '年' + m + '月' + d + '日' 
	var arr = [Time,lastDay]
	return arr
};

9.获取昨天的时间 使用:let time = yesterdayTime()

function yesterdayTime() {
	var day = new Date();
	day.setTime(day.getTime()-24*60*60*1000);
	var yesterday = day.getFullYear()+"-" + (day.getMonth()+1) + "-" + day.getDate();
	return yesterday
}

10.获取明天的时间 使用:let time = tomorrowTime()

function tomorrowTime() {
	var day = new Date();
	day.setTime(day.getTime()+24*60*60*1000);
	vartomorrow = day.getFullYear()+"-" + (day.getMonth()+1) + "-" + day.getDate();
	return tomorrow
}

11.当前时间距离某个时间 折算成各种格式种类 使用:let time = getDate(‘01 Jan 2021 00:00:00 GMT','y',1)

getDate(dtTmp, strInterval, number) {
    var myDate = ‘’
    if (strInterval) {
      switch (strInterval) {
        case 's':
          myDate = new Date(Date.parse(dtTmp) + (1000 * number)) // 秒
          break
        case 'n':
          myDate = new Date(Date.parse(dtTmp) + (60000 * number)) // 分
          break
        case 'h':
          myDate = new Date(Date.parse(dtTmp) + (3600000 * number)) // 小时
          break
        case 'd':
          myDate = new Date(Date.parse(dtTmp) + (86400000 * number)) // 天
          break
        case 'w':
          myDate = new Date(Date.parse(dtTmp) + ((86400000 * 7) * number)) // 星期
          break
        case 'q':
          myDate = new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + number * 3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()) // 季度
          break
        case 'm':
          myDate = new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()) // 月
          break
        case 'y':
          myDate = new Date((dtTmp.getFullYear() + number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()) // 年
          break
        default:
      }
    }
    return myDate
  },

12.基于dayjs日期格式化

 // 基于dayjs日期格式化,时间戳(毫秒)转日期
  dateFormat(date, format) {
    format = format || 'YYYY-MM-DD HH:mm'
    if (!date) return ''
    return dayjs(date).format(format)
  },
  // 基于dayjs日期格式化,日期转时间戳(毫秒)
  timestamp(val) {
    return dayjs(val).valueOf()
  },
  // 基于dayjs日期格式化, 表格专用
  tableDateFormat(row, column, cellValue) {
    const format = 'YYYY-MM-DD HH:mm'
    if (!cellValue) return ''
    return dayjs(cellValue).format(format)
  },
  // 基于dayjs日期格式化, 表格专用
  tableDateFormats(row, column, cellValue) {
    const format = 'YYYY-MM-DD'
    if (!cellValue) return ''
    return dayjs(cellValue).format(format)
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值