在我看来,最好的方法是以毫秒为单位添加一整天,这取决于你如何分解你的代码,如果你在当月的最后一天,它可能会搞砸。
例如 2 月 28 日或 3 月 31 日。
以下是我如何做到这一点的示例:
var current = new Date(); //'Mar 11 2015' current.getTime() = 1426060964567
var followingDay = new Date(current.getTime() + 86400000); // + 1 day in ms
followingDay.toLocaleDateString();
恕我直言,这确保了准确性
这是另一个示例。我不喜欢这样。它可以为你工作,但不像上面的例子那么干净。
var today = new Date('12/31/2015');
var tomorrow = new Date(today);
tomorrow.setDate(today.getDate()+1);
tomorrow.toLocaleDateString();
恕我直言this === 'POOP'
因此,你们中的一些人对我的毫秒方法感到抱怨,因为白天节省了时间。所以我要抨击这个。首先,一些国家和州没有天光节灯时间。第二次添加正好24小时是一整天。如果日期编号每年没有变化一次,但6个月后就被修复了,我没有看到那里的问题。但是为了明确并不得不处理分配邪恶,我已经仔细考虑了这一点,现在完全讨厌Date。这就是我的新方法。Date()
var dd = new Date(); // or any date and time you care about
var dateArray = dd.toISOString().split('T')[0].split('-').concat( dd.toISOString().split('T')[1].split(':') );
// ["2016", "07", "04", "00", "17", "58.849Z"] at Z
现在是有趣的部分!
var date = {
day: dateArray[2],
month: dateArray[1],
year: dateArray[0],
hour: dateArray[3],
minutes: dateArray[4],
seconds:dateArray[5].split('.')[0],
milliseconds: dateArray[5].split('.')[1].replace('Z','')
}
现在,我们在祖鲁子午线上清楚地写出了我们的官方有效国际日期对象。现在更改日期
dd.setDate(dd.getDate()+1); // this gives you one full calendar date forward
tomorrow.setDate(dd.getTime() + 86400000);// this gives your 24 hours into the future. do what you want with it.