注意:如果是移动端使用切记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)
},