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());

原文地址:https://www.cnblogs.com/whycai/p/12589402.html

时间: 2024-10-22 04:14:28

js 中处理时间相加减问题的相关文章

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

1.问题: 平时写的代码中会出现这种情况,parseFloat(11.3-10.1) 运行的结果依然是1.200000000000001 代码示例: var arr = [0.0111,11.002,0.3,1.5,1.61] var total = 0 arr.forEach(item =>{ total += item }) console.log(total) 返回的结果---  14.423100000000002,这种情况就不合常理. 2.解决方案: 这里有一种可行的解决方法,应用到M

js 日期天数相加减,格式化yyyy-MM-dd

参数格式: date :2016-03-02 days:-3(2)当为负数的时候日期往前推,为正数,日期往后推 function addDate(date, days) { var d = new Date(date); d.setDate(d.getDate() + days); var m = d.getMonth() + 1; var da = d.getDate(); if (m<10) { m = '0' + m; } if (da<10) { da = '0' + da; } re

js中的数组中的数组相加

在MVC中View中遇到了这个问题,就是js中数字相加的时候,老是加不到一起: <span style="font-size:18px;"> function Table() { var z=0; for (var i = 0; i < 3;i++) { <span style="font-family:Calibri;">z</span><span style="font-family:SimSun;&qu

js面试题--------JS中数字和字符,布尔类型相加相减问题

JS中数字和字符相加相减问题 <html lang="en"> <head> <meta charset="utf-8" /> <title></title> </head> <body> </body> </html> <script type="text/javascript"> var a = 100; var b = &

js实现日期的相加减、以及日期的比较

// js实现日期的相加减 function dateOperator(date, days, operator) { date = date.replace(/-/g, "/"); //更改日期格式 var nd = new Date(date); nd = nd.valueOf(); if (operator == "+") { nd = nd + days * 24 * 60 * 60 * 1000; } else if (operator == "

js中两个日期大小比较,获取当前日期,日期加减一天

一.两个日期大小比较 1.格式:(yyyy-mm-dd) function duibi(a, b,flag) { var arr = a.split("-");     var starttime = new Date(arr[0], arr[1], arr[2]);     var starttimes = starttime.getTime();     var arrs = b.split("-"); var endTime = new Date(arrs[0

js中浮点数的精度问题

JS中浮点数的精度问题 value = parseFloat((value.toFixed(2))).toLocaleString(); //大于1的数值没有问题,小于1的,个位数的0会丢失,如:0.1,转换之后:.1 function accAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} try{r2=arg2.toString().split("

javascript基础入门之js中的数据类型与数据转换01

javascript基础入门之js中的数据结构与数据转换01 js的组成(ECMAScript.BOM.DOM)        js中的打印语句:        数据类型        变量        运算符        数据类型转换        js中三大特殊值 js的组成(ECMAScript.BOM.DOM) ①ECMAScript: ECMAScript是一个标准,它规定了语法.类型.语句.关键字.保留子.操作符.对象.(相当于法律):②BOM(浏览器对象模型):对浏览器窗口进行

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原