javascript中的过去日期永远不会显示正确的结果

Past day date in javascript never show correct results

本文关键字:显示 结果 永远 过去 日期 javascript      更新时间:2023-09-26

我需要一个过去几天的"YYYY-mm-dd"格式的日期。我写这个函数:

function getDifDate(d, numd) {
 d = stringToDate(d);
 d.setDate(d.getDate() - numd);
 return d;
}

然后在程序的另一部分我写:

var tod = new Date();
switch(selPer.value) {
            case 1:         
                x= getDifDate(tod, 2);
                break;
            case 2:
                x= getDifDate(tod, 15);
                break;
            default:
                //default code block
        }
        console.log("Data1: "+ x);

但是x值,例如,如果我今天启动我的脚本,则返回"25"

怎么了?

提前感谢

即使没有DateJS ,这也应该可以正常工作

function getDifDate(d, numd) {
 d.setDate(d.getDate() - numd);
 return d;
}
var x;
var tod = new Date();
switch(1) {
            case 1:         
                x= getDifDate(tod, 2);
                break;
            case 2:
                x= getDifDate(tod, 15);
                break;
            default:
                //default code block
        }
console.log("Data1: ", x);

检查此plunker:http://plnkr.co/edit/gLwBIfAp7zFLEaV1KJ1O?p=preview

使用DateJS库

    Date.today().addDays(-1);

文件:https://code.google.com/p/datejs/wiki/APIDocumentation

一个正在工作的jsFiddle:http://jsfiddle.net/vx1m67w1/1/