如何在当前日期上添加1天

How can I add 1 day to current date?

本文关键字:添加 1天 当前日期      更新时间:2023-09-26

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

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() 
});

我怎样才能增加一天?

我已将+1添加到getUTCDay()getUTCDate(),但它不显示"Sunday"对于day,我预计会发生这种情况。

向日期对象添加一天:

var date = new Date();
// add a day
date.setDate(date.getDate() + 1);

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

例如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();

Imho这确保了的准确性

这里是另一个例子。我不喜欢那样。它可以为你工作,但不像上面的例子那样干净。

var today = new Date('12/31/2015');
var tomorrow = new Date(today);
tomorrow.setDate(today.getDate()+1);
tomorrow.toLocaleDateString();

Imho 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.

如果您想在当前日期时间中添加一天(24小时),您可以添加毫秒,如下所示:

new Date(Date.now() + ( 3600 * 1000 * 24))
int days = 1;
var newDate = new Date(Date.now() + days*24*60*60*1000);

CodePen

var days = 2;
var newDate = new Date(Date.now()+days*24*60*60*1000);
document.write('Today: <em>');
document.write(new Date());
document.write('</em><br/> New: <strong>');
document.write(newDate);

只需执行此

var date = new Date();
date.setDate(date.getDate() + 1);
console.log(date);

现在date将是明天的日期。在这里,你可以根据自己的意愿增加或减少天数。

受jpmottin在这个问题中的启发,这里有一行代码:

var dateStr = '2019-01-01';
var days = 1;
var result = new Date(new Date(dateStr).setDate(new Date(dateStr).getDate() + days));
document.write('Date: ', result); // Wed Jan 02 2019 09:00:00 GMT+0900 (Japan Standard Time)
document.write('<br />');
document.write('Trimmed Date: ', result.toISOString().substr(0, 10)); // 2019-01-02

希望这能帮助

这是一个函数,您可以使用它在javascript中将给定的日期添加到当前日期。

function addDayToCurrentDate(days){
  let currentDate = new Date()
  return new Date(currentDate.setDate(currentDate.getDate() + days))
}
// current date = Sun Oct 02 2021 13:07:46 GMT+0200 (South Africa Standard Time)
// days = 2
console.log(addDayToCurrentDate(2))
// Mon Oct 04 2021 13:08:18 GMT+0200 (South Africa Standard Time)

// Function gets date and count days to add to passed date
function addDays(dateTime, count_days = 0){
  return new Date(new Date(dateTime).setDate(dateTime.getDate() + count_days));
}
// Create some date
const today = new Date("2022-02-19T00:00:00Z");
// Add some days to date
const tomorrow = addDays(today, 1);
// Result
console.log("Tomorrow => ", new Date(tomorrow).toISOString());
// 2022-02-20T00:00:00.000Z

我们可以通过使用timedelta获得今天之后的日期,下面将numOfDays指定为1。

from datetime import date, timedelta
tomorrow = date.today() + timedelta(days=1)

//这是一个非常简单的

设d=新日期("2023年4月22日");

d.setDate(d.getDate()+1);

console.log(d);

currentDay = '2019-12-06';
currentDay = new Date(currentDay).add(Date.DAY, +1).format('Y-m-d');