JavaScript如何以dd-mm-yy格式获取明天的日期

JavaScript如何以dd-mm-yy格式获取明天的日期,javascript,Javascript,我试图让JavaScript以格式(dd-mm-yyyy)显示明天的日期 我有这个脚本,它以格式(dd-mm-yyyy)显示今天的日期 然而,我可以保持+1并且超过31天,显然一个月内不会超过32天 已经搜索了几个小时,但似乎没有答案或解决方案?JavaScriptDate类为您处理此问题 var d = new Date("2012-02-29") console.log(d) // Wed Feb 29 2012 11:00:00 GMT+1100 (EST) d.setDate(d.ge

我试图让JavaScript以格式(dd-mm-yyyy)显示明天的日期

我有这个脚本,它以格式(dd-mm-yyyy)显示今天的日期

然而,我可以保持
+1
并且超过31天,显然一个月内不会超过32天


已经搜索了几个小时,但似乎没有答案或解决方案?

JavaScript
Date
类为您处理此问题

var d = new Date("2012-02-29")
console.log(d)
// Wed Feb 29 2012 11:00:00 GMT+1100 (EST)

d.setDate(d.getDate() + 1)
console.log(d)
// Thu Mar 01 2012 11:00:00 GMT+1100 (EST)

console.log(d.getDate())
// 1

这对你来说真的很好

如果您将日期传递给构造函数一个时间,它将完成其余的工作

24小时60分钟60秒1000毫秒

var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

我之所以编辑我的文章,是因为我自己用我以前的方法在DST期间发现了一个bug。

我会使用DateJS库。它可以做到这一点

执行以下操作:

var d = new Date.today().addDays(1).toString("dd-mm-yyyy");
Date.today()
-在午夜为您提供今天。

用例:
        //-----------Date Configuration march 18,2014----------------------

        //alert(DateFilter);

        var date = new Date();
        y = date.getFullYear(), m = date.getMonth();
        var EndDate = new Date();



        switch (DateFilter) {
            case 'today': var StartDate = EndDate;   //todays date                 
                break;
            case 'yesterday':
                var d = new Date();
                var previousDate = new Date(d.getTime() - 1000 * 60 * 60 * 24);
                var StartDate = new Date(previousDate.yyyymmdd()); //yesterday Date
                break;
            case 'tomorrow':
                var d = new Date();
                var NextDate = new Date(d.getTime() + 1000 * 60 * 60 * 24);
                var StartDate = new Date(NextDate.yyyymmdd()); //tomorrow Date
                break;
            case 'thisweek': var StartDate = getMonday(new Date()); //1st date of this week
                break;
            case 'thismonth': var StartDate = new Date(y, m, 1);  //1st date of this month
                break;
            case 'thisyear': var StartDate = new Date("01/01/" + date.getFullYear());  //1st date of this year
                break;
            case 'custom': //var StartDate = $("#txtFromDate").val();                   
                break;
            default:
                var d = new Date();
                var StartDate = new Date(d.getTime() - 30 * 24 * 60 * 60 * 1000); //one month ago date from now.
        }


        if (DateFilter != "custom") {
            var SDate = $.datepicker.formatDate('@Config.DateFormat', StartDate); $("#txtFromDate").val(SDate);
            var EDate = $.datepicker.formatDate('@Config.DateFormat', EndDate); $("#txtToDate").val(EDate);
        }
        //-----------Date Configuration march 18,2014----------------------
如果“明天”不取决于今天,而是取决于另一个不同于
Date.now()
的日期,则不要使用静态方法,而必须使用非静态方法:

i、 e:2008年12月5日星期五

 var dec5_2008=new Date(Date.parse('2008/12/05'));
 dec5_2008.tomorrow(); // 2008/12/06
    dec5_2008.tomorrow().day // 6
    dec5_2008.tomorrow().month // 12
    dec5_2008.tomorrow().year //2008
 dec5_2008.daysNext(1); // the same as previous
 dec5_2008.daysNext(7) // next week :)
应用程序编程接口: 方法甚至接受标准范围之外的参数,并相应地更改日期

函数getTomorrow(){ const明天=新日期(); 明天.setDate(明天.getDate()+1);//即使是32也可以接受 返回`${明天.getFullYear()}/${明天.getMonth()+1}/${明天.getDate()}`; } 非常简单:

1:使用今天的日期和时间创建日期对象。 2:使用日期对象方法检索日期、月份和全年,并使用+运算符将它们连接起来

访问JavaScript获取关于日期和时间的详细教程

示例代码:

  var my_date = new Date();  
  var tomorrow_date =       (my_date .getDate()+1)  + "-" + (my_date .getMonth()+1) + "-" + my_date .getFullYear();
  document.write(tomorrow_date);

方法1:如果您在使用其他库时没有问题,那么使用

方法2:使用Date.js

<script type="text/javascript" src="date.js"></script>    
var tomorrow = new Date.today().addDays(1).toString("dd-mm-yyyy"); 

var明天=新日期.today().addDays(1).toString(“dd-mm-yyyy”);
此方法使用外部库而不是本机日期库。
由于我的引导datetimepicker使用的是moment.js和本机日期库,所以我更喜欢方法1。这提到了这些方法和其他一些方法。

下面使用了Roderick和Phil的答案与两个附加条件的组合,这两个附加条件占个位数的月/天

我使用过的许多API对此都很挑剔,并且要求日期必须有八位数(例如“0202017”),而不是date类在某些情况下提供的6或7位数

function nextDayDate() {
      // get today's date then add one
      var nextDay = new Date();
      nextDay.setDate(nextDay.getDate() + 1);

      var month = nextDay.getMonth() + 1;
      var day = nextDay.getDate();
      var year = nextDay.getFullYear();

      if (month < 10) { month = "0" + month } 
      if (day < 10) { day = "0" + day }

      return month + day + year;
}
函数nextDayDate(){
//获取今天的日期,然后添加一个
var nextDay=新日期();
nextDay.setDate(nextDay.getDate()+1);
var month=nextDay.getMonth()+1;
var day=nextDay.getDate();
var year=nextDay.getFullYear();
如果(月<10){month=“0”+month}
如果(天<10){day=“0”+天}
返回月+日+年;
}

很简单!以dd.mm.yyyy格式。

与原始答案相同,但在一行中:

var明天=新日期(Date.now()+24*60*60*1000)

这些数字代表24小时60分钟60秒1000毫秒。

您可以尝试以下方法:

明天的函数(日期=false){
变量givendate=(日期!=false)?新日期(日期):新日期();
givendate.setDate(givendate.getDate()+1);
var day=givendate.getUTCDate()
var month=givendate.getUTCMonth()+1
var year=givendate.getUTCFullYear()
结果=“日+”/“+月+”/“+年+”;
返回结果;
} 
var日=明天('2020-06-30');
console.log('tomorrows1:'+明天('2020-06-30');
log('tomorrows2:'+Tomorrow())仅使用JS(纯JS)

今天

明天

new Date(+new Date() + 86400000);
//Wed Oct 07 2020 12:44:02 GMT+0530 (India Standard Time)
new Date(+new Date().setHours(0, 0, 0, 0) + 86400000);
//Wed Oct 07 2020 00:00:00 GMT+0530 (India Standard Time)
new Date(+new Date().setHours(0, 0, 0,0)+ 86400000).toLocaleDateString('fr-CA')
//"2020-10-07"
//don't forget the '+' before new Date()
后天

只需乘以2,例如:-2*86400000

您可以在

//获取明天的日期
让明天=新日期(`${(新日期()).getFullYear()}-${(新日期()).getMonth()+1}-${(新日期()).getDate()+1}`);
//对于dd-mm-yy格式
明天=`${明天.getDate()}-${明天.getMonth()+1}-${((明天.getFullYear()).toString()).slice(-2)}`;

文档。写(明天)
我更喜欢菲尔的答案。。。我对所有日期都使用DateJS——但似乎单独使用JS就可以做到!Date.parse('明天').toString('dd-MM-yyyy');谢谢,稍微短一点
var currentDate=new Date(+new Date()+86400000)请注意,使用此策略,您可能会遇到DST方面的问题,这会导致一年中的一天有23个小时,另一天有25个小时。Phil在下面的回答避免了这个问题。
new Date().getTime()
可以简化为
Date.now()
它们都是正确的,但我认为IE8没有Date.now()。@ConorB.getMonth()返回1月的0,2月的1。。。12月11日。加1把它从数组索引变成人类可读日期。请考虑对你的答案加解释。如果今天是一个月的最后一天,这是否仍然有效,比如第三十一?如果你加上+1,你会得到第32名吗?@Timo很确定我的例子正好说明了这一点哦,是的,你是对的。我忘了二月只有28天:-)今天我没能做到,因为新的日期('2016-10-31')返回“太阳2016-10-30 23:00:00 GMT-0100(AZOT)”。我在亚速尔群岛,时区从亚速尔群岛改为亚速尔群岛AZOT@nunoarruda我的答案中的日期字符串仅用于说明。这个答案的关键是,您可以使用
setDate
getDate
来添加天数。我建议您阅读问题的答案。由于未考虑DST,该答案不正确。正如OP已经观察到的,这不会将日期延至月份。
 var dec5_2008=new Date(Date.parse('2008/12/05'));
 dec5_2008.tomorrow(); // 2008/12/06
    dec5_2008.tomorrow().day // 6
    dec5_2008.tomorrow().month // 12
    dec5_2008.tomorrow().year //2008
 dec5_2008.daysNext(1); // the same as previous
 dec5_2008.daysNext(7) // next week :)
Dateold=Date;function Date(e){var t=null;if(e){t=new Dateold(e)}else{t=new Dateold}t.day=t.getDate();t.month=t.getMonth()+1;t.year=t.getFullYear();return t}Date.prototype.daysNext=function(e){if(!e){e=0}return new Date(this.getTime()+24*60*60*1e3*e)};Date.prototype.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)};Date.prototype.tomorrow=function(){return this.daysNext(1)};Date.prototype.yesterday=function(){return this.daysAgo(1)};Date.tomorrow=function(){return Date.daysNext(1)};Date.yesterday=function(){return Date.daysAgo(1)};Date.daysNext=function(e){if(!e){e=0}return new Date((new Date).getTime()+24*60*60*1e3*e)};Date.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)}
  var my_date = new Date();  
  var tomorrow_date =       (my_date .getDate()+1)  + "-" + (my_date .getMonth()+1) + "-" + my_date .getFullYear();
  document.write(tomorrow_date);
moment().add('days', 1).format('L');
<script type="text/javascript" src="date.js"></script>    
var tomorrow = new Date.today().addDays(1).toString("dd-mm-yyyy"); 
function nextDayDate() {
      // get today's date then add one
      var nextDay = new Date();
      nextDay.setDate(nextDay.getDate() + 1);

      var month = nextDay.getMonth() + 1;
      var day = nextDay.getDate();
      var year = nextDay.getFullYear();

      if (month < 10) { month = "0" + month } 
      if (day < 10) { day = "0" + day }

      return month + day + year;
}
var curDate = new Date().toLocaleString().split(',')[0];
        Date.prototype.NextDay = function (e) {
        return new Date(this.getFullYear(), this.getMonth(), this.getDate() + ("string" == typeof e ? parseInt(e, 10) : e));
    }

    // tomorrow
    console.log(new Date().NextDay(1))

    // day after tomorrow
    console.log(new Date().NextDay(2))
new Date()
//Tue Oct 06 2020 12:34:29 GMT+0530 (India Standard Time)
new Date(new Date().setHours(0, 0, 0, 0))
//Tue Oct 06 2020 00:00:00 GMT+0530 (India Standard Time)
new Date(new Date().setHours(0, 0, 0,0)).toLocaleDateString('fr-CA')
//"2020-10-06"
new Date(+new Date() + 86400000);
//Wed Oct 07 2020 12:44:02 GMT+0530 (India Standard Time)
new Date(+new Date().setHours(0, 0, 0, 0) + 86400000);
//Wed Oct 07 2020 00:00:00 GMT+0530 (India Standard Time)
new Date(+new Date().setHours(0, 0, 0,0)+ 86400000).toLocaleDateString('fr-CA')
//"2020-10-07"
//don't forget the '+' before new Date()