JavaScript日期加1天

4

这是我的代码:

function getRightMonth(month) {
  var monthArr = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
  return monthArr[month];
}   

var  setTomorrowDate = function(dtString){
    if(!dtString) return;
    var tm = new Date(dtString);
    tm.setDate(tm.getDate() + 1);
    var y = tm.getFullYear(),
        m = getRightMonth(tm.getMonth()),
        d = tm.getDate(),
        nd = (d < 10) ? "0" + d : d;          
    return y + "-" + m + "-" + nd;      
};

document.write(setTomorrowDate("2013-05-16"));

JSBIN

该代码简单地接受一个日期字符串,设置一个日期并加上一天。我的问题是:当我在Windows操作系统中运行代码时,它会添加一天,但是如果我在Mac操作系统中运行代码时,则不会添加。


4
您的意思是在Safari浏览器中吗?那么这个问题之前已经被问过并回答了:https://dev59.com/2G445IYBdhLWcg3w7unD - HMR
2
在 Mac 上,指定你正在使用的浏览器。 - Shijin TR
在我的 Mac 上,Chrome 和 Safari 都可以正常运行。 - JJJ
请尝试调试您的代码,每个浏览器都有开发者工具,您可以在其中查看错误或尝试设置断点并确定它在哪里出了问题。http://wickedlysmart.com/hfhtml5/devtools.html 对于大多数浏览器,按F12打开它,对于FireFox,我建议安装Firebug插件。 - HMR
我建议尝试使用像Date.js或Moment.js这样的库来处理日期。这将使事情变得更加容易。 - Spudley
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接