js 中处理时间相加减问题

Posted 菜小鱼~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 中处理时间相加减问题相关的知识,希望对你有一定的参考价值。

之前需求是当前时间+5天,写法如下

1 var dataCur = new Date(); //当前日期
2 var dataDef = dataCur.getFullYear() + ‘-‘ + (dataCur.getMonth() + 1) + ‘-‘ + (dataCur.getDate() + 5)

但这种写法有个问题,就是月末比如今天 3.28 + 5天,就成 3.33号(么有这个日期)

 

于是换了种写法,先将时间转成时间戳,将时间戳+5天(86400 * 5),就不会有这种问题,写法如下:

1 //时间默认值,默认当前时间+5天
2     var dataCur = new Date(); //当前日期
3     dataCur = dataCur.getFullYear() + ‘-‘ + (dataCur.getMonth() + 1) + ‘-‘ + dataCur.getDate() + " 00:00:00";
4     var dataCurPar = Date.parse(new Date(dataCur))/1000;//转换为时间戳
5     dataCurPar += 86400 * 5;//加5天后的时间戳
6     var dataDefPar = new Date(parseInt(dataCurPar) * 1000);//转换为时间
7     var dataDef = dataDefPar.getFullYear() + ‘-‘ + (dataDefPar.getMonth() + 1) + ‘-‘ + (dataDefPar.getDate());

 

以上是关于js 中处理时间相加减问题的主要内容,如果未能解决你的问题,请参考以下文章

JS中小数相加相减时出现很长的小数点的解决方式

Js中带有小数的值相加减的解决方案

js怎么写一个时间相减得到时间差?

关于字典dict“相加减”以及KeyError处理

leetcode-2 两数相加(链表的头插法尾插法两个不同长度链表相加减操作的处理方法)

leetcode-2 两数相加(链表的头插法尾插法两个不同长度链表相加减操作的处理方法)