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

Javascript 如何将1天添加到当前日期?,javascript,Javascript,我有一个当前日期对象,需要使用JavaScript日期对象将其递增一天。我有以下代码: var ds = stringFormat("{day} {date} {month} {year}", { day: companyname.i18n.translate("day", language)[date.getUTCDay()], date: date.getUTCDate(), month:

我有一个当前日期对象,需要使用JavaScript日期对象将其递增一天。我有以下代码:

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,但它不显示“Sunday”
对于
,我期待这一天的到来

要向日期对象添加一天:

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();
这是为了确保准确性

这里是另一个例子,我不喜欢它可以为你工作,但没有清洁剂量以上

var today = new Date('12/31/2015');
var tomorrow = new Date(today);
tomorrow.setDate(today.getDate()+1);
tomorrow.toLocaleDateString();
这是什么意思

所以,你们中的一些人对我的毫秒方法感到不满,因为它节省了白天的时间。所以我要把这件事说出来。首先,一些国家和州没有日间储蓄时间。第二,加上24小时就是一整天。如果日期数字每年不改变一次,但在6个月后得到修复,我看不出有什么问题。但是,为了明确起见,为了处理这个邪恶的日期,我已经想清楚了,现在我彻底憎恨这个日期。这就是我的新方法

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.

var天数=2;
var newDate=新日期(Date.now()+天*24*60*60*1000);
文件。写(‘今天:’);
文件。写入(新日期());
编写(“
新:”); 文件编写(newDate)受in的启发,以下是一行代码:

var dateStr='2019-01-01';
风险值天数=1;
var result=new Date(new Date(dateStr).setDate(new Date(dateStr).getDate()+天));
document.write('日期:',结果);//2019年1月2日星期三09:00:00 GMT+0900(日本标准时间)
文件。写入(“
”); document.write('Trimmed Date:',result.toISOString().substr(0,10));//2019-01-02
如果您想在当前日期时间中添加一天(24小时),您可以这样添加毫秒:

new Date(Date.now() + ( 3600 * 1000 * 24))

“添加+1”是什么意思?您是否需要第二天或其他时间?date:(date.getUTCDate()+1)
不起作用(对我有效)吗?可能与
date
(as date()-Object和as Object Key)存在命名冲突。您是否尝试调用不同的date()-Object?当前它仅显示为:Sat 2012年4月6日2012年4月7日,没有“Sunday 2012年4月7日”,因此它不是您需要的
4月7日
(什么是“向我添加下一天”),这是
周日
。记住在
日期:
日期:
中添加
+1
(或者,如当前答案所述,在之前)。请参阅重复问题:。此答案很好,但不包括DST。一年中有2天没有24小时。@Jess这取决于您希望如何表示DST的更改。问题是如何将一个添加到日期,这正是上述答案的作用。添加24小时不一定会增加该日期,ad使用always does将一个日期转换为本地日期。当然不是!你从UTC时间开始,然后将其转换为本地时间,添加一天,然后将其转换回UTC。因此,将一天添加到本地日期,但仅为UTC时间的23小时。如果将1添加到UTC日期,你将返回当地时间的01:00:00。这种行为并非夏令时独有这是使用三个不同时区的结果。啊哈。我没有意识到正在从UTC转换为当地时间。
a.setUTCDate(a.getUTCDate()+1);
@Jess我知道我来晚了,但你关于使用
get
/
setUTCDate()
的评论本身就应该是一个答案(如果是这样的话,投票率会很高)。增加秒/毫秒对夏令时不起作用。@Matt H你是从哪里得到这个想法的。从1970/01/01开始,时间是以UTC毫秒为单位设置的,是的,但不一定是以UTC时间为第二天,但不一定是以当地时间。在美国的春前一天,一天有25小时。因此,如果你有例如3/31/15 00:00小时,那么nd加上86400000毫秒,在Sprint Forward日,当地时间将是3/31/15的23:00,因为当天有25个小时。您可以看到这样的效果:
var dte=Date.parse('2015-11-01');console.log(dte);dte.setTime(dte.getTime()+86400000);console.log(dte)
这是过度设计的。如果您遇到这样的问题,请使用类似于库的“时刻”或其他方法来帮助简化工作。添加一天的毫秒数失败,因为在实行夏时制的地方,并非所有的日子都是24小时长。例如,智利在2017年5月14日午夜结束夏时制。时钟将在2017年12月30日前倒转从午夜到23:00。因此,将24小时添加到2017-05-13 00:00:00将生成2017-05-13 23:00:00,并且日期不会更改(一些浏览器将在午夜完成,其他浏览器将在一毫秒后完成)。:-(这是什么?您正在使用库吗?
new Date(Date.now() + ( 3600 * 1000 * 24))
currentDay = '2019-12-06';
currentDay = new Date(currentDay).add(Date.DAY, +1).format('Y-m-d');