判断两个日期之间的天数
当前日期与目标日期间隔两个日期之间的间隔获取当前日期使用方法注意事项
当前日期与目标日期间隔
前端开发中有时候会使用到当前日期与目标日期的的比较。 下面就是常用的js方法。 需要注意的是 iOS系统有时候无法识别横杠格式的日期,需要转义成斜杠的日期,具体的写法下面也给出了解决方案。
两个日期之间的间隔
// 当前日期与目标日期相隔几天
export const getDiffDay = (date_1, date_2) => {
var totalDays = 0;
var diffDate = 0;
// 第一种写法 iOS系统无法识别带有横杠的日期(2022-09-09 12:09:11),在进行时间戳转化的时候会直接返回Nan。
// var myDate_1 = Date.parse(date_1);
// var myDate_2 = Date.parse(date_2);
// 第二种写法 将带有横杠的日期转化成斜杠的日期。这样再转成时间戳的时候 iOS系统就可以识别。
var myDate_1 = new Date(date_1.replace(/-/g, '/')).getTime();
var myDate_2 = new Date(date_2.replace(/-/g, '/')).getTime();
// 两个时间戳相减值
diffDate = Math.abs(myDate_1 - myDate_2) ;
// 判断当前日期与目标日期一致 返回0
if((myDate_1 - myDate_2) === 0){
totalDays = 0;
}
// 判断当前日期大于目标日期 返回-1
else if((myDate_1 - myDate_2) > 0){
totalDays = -1;
}
// 判断当前日期小于目标日期 返回具体天数
else{
totalDays = Math.floor(diffDate / (1000 * 3600 * 24));
}
console.log("间隔天数",totalDays);
return totalDays
}
获取当前日期
// 获取当前日期
export function getCurrentTime() {
var date = new Date();
var year = date.getFullYear(); //月份从0~11,所以加一
let month = date.getMonth();
// console.log("month",month);
var dateArr = [
date.getMonth() + 1,
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds(),
];
//如果格式是MM则需要此步骤,如果是M格式则此循环注释掉
for (var i = 0; i < dateArr.length; i++) {
if (dateArr[i] >= 1 && dateArr[i]
注意事项
例子里面是当前时间与目标时间相等进行的显示控件。 并且两个日期的格式都是 ‘2022-02-01 12:09:08’ 。 所以在上面的js方法里面做了统一处理。 如果实际项目里面日期格式已经是斜杠,那么js里面就不需要处理了。 以上的方法仅供参考,实际项目还是需要根据需求进行处理。
|