如何将 1 天添加到当前日期?

新手上路,请多包涵

我有一个当前 Date 对象,需要使用 JavaScript Date 对象增加一天。我有以下代码:

var ds = stringFormat("{day} {date} {month} {year}", {
    day: companyname.i18n.translate("day", language)[date.getUTCDay()],
    date: date.getUTCDate(),
    month: companyname.i18n.translate("month", language)[date.getUTCMonth()],
    year: date.getUTCFullYear()
});

我怎样才能增加一天呢?

我为 getUTCDay()getUTCDate() 添加了 +1,但它不显示“星期日”

对于 day ,我希望这会发生。

原文由 franticfrantic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 860
2 个回答

将一天添加到日期对象:

 var date = new Date();

 // add a day
 date.setDate(date.getDate() + 1);

原文由 RobG 发布,翻译遵循 CC BY-SA 3.0 许可协议

以我的拙见,最好的方法是以毫秒为单位添加一整天,这取决于你如何考虑你的代码,如果你在一个月的最后一天,它可能会搞砸。

例如 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() 我已经考虑清楚了,现在彻底讨厌日期。所以这是我的新方法。

 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','')
}

现在我们在 Zulu meridian 清楚地写出了我们的官方有效国际日期对象。现在更改日期

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.

原文由 Peter the Russian 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题