日期:2014-05-16  浏览次数:20431 次

怎样获取当前日期的前一天?
我知道var date=new Date(),可以获得当前日期,可是前一天怎么获得,要考虑跨年和跨月,好复杂

------解决方案--------------------
很简单
var date=new Date(2013,0,1);
date.setDate(date.getDate()-1);
alert(date);

------解决方案--------------------
moment.js
------解决方案--------------------
引用:
很简单
var date=new Date(2013,0,1);
date.setDate(date.getDate()-1);
alert(date);

这样无法解决跨年跨越的问题吧,应该是
var d = new Date(2012, 0, 1);
 d.setTime(d.getTime()-24*60*60*1000);
------解决方案--------------------
引用:
Quote: 引用:

很简单
var date=new Date(2013,0,1);
date.setDate(date.getDate()-1);
alert(date);

这样无法解决跨年跨越的问题吧,应该是
var d = new Date(2012, 0, 1);
 d.setTime(d.getTime()-24*60*60*1000);


能不能解决,你试试就知道了
------解决方案--------------------
setDate 方法
dateObj.setDate(numDate)
说明
如果 numDate 的值大于 Date 对象中所保存的月份的天数或者是负数。那么日期将被设置为由 numDate 减去所保存月份中天数而得到的日期。例如,如果所保存的日期是 1996 年 1 月 5 日,并且调用了方法 setUTCDate(32),那么日期将被改变为 1996 年 2 月 1 日。负数的处理方法与此相似。


------解决方案--------------------
new Date(new Date() - 1000 * 60*60*24);


时间是一个 相对的毫秒数值
所以把这个数值 减去一天时间换算的毫秒数 就是一天前的时间