兼容IE8的日期格式化
在ie8下日期无法直接做比较,所以需要先进行格式化,对日期进行校验。并同时可解决日期返回NaN的问题
function newDate(str){
if(!str){
return 0;
}
arr=str.split(" ");
d=arr[0].split("-");
t=arr[1].split(":");
var date = new Date();
date.setUTCFullYear(d[0], d[1] - 1, d[2]);
date.setUTCHours(t[0], t[1], t[2], 0);
return date;
}
格式化当前时间
function getNowDate() {
var date = new Date()
var year = date.getFullYear()
var month = (date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)
var day = date.getDate() > 9 ? date.getDate() : '0' + date.getDate()
var hover = date.getHours() > 9 ? date.getHours() : '0' + date.getHours()
var minutes = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes()
return year + '-' + month + '-' + day + ' ' + hover + ':' + minutes + ':00'
}
返回的时间格式为:YYYY-MM-dd hh:mm:ss
提示:如果调用getNowDate()方法格式化其他时间,方法名可自行修改,然后将其他时间传给date
使用方式
在调用newDate()函数时,传的参数str格式为:‘20210-02-05 15:58:59’。如果时间格式不是这样,可以调用getNowDate()函数进行转换。
在对两个时间做比较时,需先获取格式化后返回的时间,然后获取该时间的毫秒值:newDate(str).getTime(),最后用两个毫秒值进行比较。