Javascript 如何获得前一天?

Javascript 如何获得前一天?,javascript,Javascript,我有日期对象: dateObj = new Date(year, month, date[, hours, minutes, seconds, ms] ) dateObj=新日期(年、月、日期[、小时、分钟、秒、毫秒]) 如何获得dateObj-1天?减去一天(1000毫秒*60秒*60分钟*24小时): 请看一下moment.js库 要得到前一天的日期,你只需要做 moment().add(-1, 'days'); 在执行算术运算符时应隐式调用getTime():),如果所讨论的一天没有24

我有日期对象:

dateObj = new Date(year, month, date[, hours, minutes, seconds, ms] ) dateObj=新日期(年、月、日期[、小时、分钟、秒、毫秒]) 如何获得dateObj-1天?

减去一天(1000毫秒*60秒*60分钟*24小时):


请看一下moment.js库

要得到前一天的日期,你只需要做

moment().add(-1, 'days');

在执行算术运算符时应隐式调用
getTime()
:),如果所讨论的一天没有24小时,则会出现问题。大多数时区一年发生两次…@T.J.-既然有2个1:30的上午时间,那么我如何准确地表示一天的1:30上午时间,因为有2个1:30的上午时间?@TJ-显然这没有问题,因为JS似乎无法识别时区的变化:
new Date(+new Date('11/06/2011 00:00 GMT')+1000*60*24)
由于夏令时的原因,我无法让它跳过/减去一个小时(2011年6月11日是下一个夏令时日。也尝试了6个月来确保)@cWalves:2011年6月11日(即“GMT”)英国的时钟不会改变在你的字符串中很重要,它告诉JavaScript应用哪个时区——我们英国人有点神经错乱,称我们的标准时间为“GMT”)。如果你使用2011年3月27日,你会看到效果:这表明2011年3月27日的午夜加上24小时是2011年3月28日的凌晨1点,因为27日只有23小时。而使用
setDate
,它将保持午夜。现在,你想使用哪一个取决于你在做什么,但当我想到“添加一天”时,我通常会想到“不影响一天中的时间”。+1@Bdfy:“date”是JavaScript
date
对象术语,表示“月中的某一天”。从中减去一天,即使是在月的第一天,因为JavaScript
Date
对象对此很聪明。
dateObj.setDate(dateObj.getDate()-1);
moment().add(-1, 'days');