工作中有时需要获取xxx天,xxx小时后的时间,js中可通过 setDate()与getDate()函数叠加的方式实现。 核心: date.setDate(date.getDate()+number)
工作中有时需要获取xxx天,xxx小时后的时间,js中可通过 setDate()与getDate()函数叠加的方式实现。
核心:
date.setDate(date.getDate()+number);
代码:
<script type="text/javascript">
var timestamp1=new Date().getTime();//获取当前时间戳
console.log(timestamp1);//查看获取的时间戳
var t = dateAdd('y',5,new Date(timestamp1));//改变时间戳的年份
console.log(t.getFullYear());//查看改变后的时间戳的年份
var t = dateAdd('m',15,new Date(timestamp1));//改变时间戳的月份
console.log(t.getFullYear()+'-'+t.getMonth());//查看改变后的时间戳的年份+月份
function dateAdd(datepart,number,date) {
//参数说明:datepart:需要操作的时间部分,可选的值为:
//‘y’:年数
// ‘m’:月数
// ‘d’:一月中的天数
// ‘w’:一周中的天数
// ‘h’:小时数
// ‘n’:分钟数
// ‘s’:秒数
// ‘i’:毫秒数
// number:改变的数量(正整数或者负整数)
// date:被操作的date对象实例
// 返回值:被操作后的date对象
switch(datepart){
case 'y':
date.setFullYear(date.getFullYear()+number);
break;
case 'm':
date.setMonth(date.getMonth()+number);
break;
case 'd':
date.setDate(date.getDate()+number);
break;
case 'w':
date.setDate(date.getDate()+7*number);
break;
case 'h':
date.setHours(date.getHour()+number);
break;
case 'n':
date.setMinutes(date.getMinutes()+number);
break;
case 's':
date.setSeconds(date.getSeconds()+number);
break;
case 'i':
date.setMilliseconds(date.getMilliseconds()+number);
break;
}
return date;
}
</script>