作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要从我拥有的日期的字符串值中减去 1 天,例如,当我从 2017/01/01 中减去一天而不是得到 2016/12/31 时,我最终得到的值为 2017/0/31。
下面是我正在编写的代码:
var inputDate = "2017/01/01";
var splitClndr = inputDate.value.split("/");
var clndrDate = new Date(splitClndr[0], splitClndr[1], splitClndr[2]);
clndrDate.setDate(clndrDate.getDate() - 1);
var nd = new Date(clndrDate);
var dd = nd.getDate();
var mm = nd.getMonth();
var y = nd.getFullYear();
var newFormattedDate = y + '/'+ mm + '/'+ dd;
operatorDate.value = newFormattedDate;
我在变量newFromattedDate中得到的值为2017/0/31,如何才能得到减去一天的结果为2016/12/31?
最佳答案
JavaScript 中的月份是从零开始的,因此 0
是一月:
new Date(2017, 1, 1) >> Wed Feb 01 2017
在创建 clndrDate
和连接字符串时,您都需要对此进行补偿。
new Date(splitClndr[0], splitClndr[1]-1, splitClndr[2])
...
var mm = nd.getMonth()+1;
关于javascript - 从完整日期中减去一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42241507/
我是一名优秀的程序员,十分优秀!