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

时间:2012-02-25 14:17:37

标签: javascript

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

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

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

Displays: 25/2/2012 (todays date of this post)

但是如何让它以相同的格式显示明天日期,即26/2/2012

我试过了:

var day = currentDate.getDate() + 1

但是我可以保留+1并且超过31,显然一个月内没有> 32天

一直在寻找几个小时,但似乎没有答案或解决方案?

16 个答案:

答案 0 :(得分:149)

这应该可以帮到你。

如果你传递Date构造函数,它将完成其余的工作。

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>")

要记住的一件事是,此方法将从现在起24小时后返回日期,这可能在夏令时期间不准确。

菲尔的回答工作随时都可以:

var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 1);

我编辑帖子的原因是因为我自己创建了一个在DST期间使用我的旧方法曝光的错误。

答案 1 :(得分:119)

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

答案 2 :(得分:6)

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

http://www.datejs.com/

执行以下操作:

var d = new Date.today().addDays(1).toString("dd-mm-yyyy");

Date.today() - 今天午夜给你。

答案 3 :(得分:5)

方法Date.prototype.setDate()接受标准范围之外的偶数参数,并相应地更改日期。

function getTomorrow() {
    const tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate() + 1); // even 32 is acceptable
    return `${tomorrow.getFullYear()}/${tomorrow.getMonth() + 1}/${tomorrow.getDate()}`;
}

答案 4 :(得分:4)

下面使用了Roderick和Phil的答案的组合,以及两个额外的条件,这些条件占个位数月/天。

我曾与之合作的许多API都很挑剔,要求日期八位(例如&#39; 02022017&#39;),而不是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;
}

答案 5 :(得分:3)

用例:

Date.tomorrow() // 1 day next 
Date.daysNext(1) // alternative Date.tomorrow()
Date.daysNext(2) // 2 days next. 

IF&#34;明天&#34;不依赖于今天而是另一个Date.now()不同的日期,不要使用静态方法,而是必须使用非静态方法:

即: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 :)

API:

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

答案 6 :(得分:3)

方法1:如果您在使用其他库时没有问题,那么这可以使用moment.js

moment().add('days', 1).format('L');

方法2:使用Date.js,

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

此方法使用外部库而不是本机Date库。 由于我的bootstrap-datetimepicker使用了moment.js和本机日期库,我更喜欢方法1.这个question提到了这些和其他一些方法。

答案 7 :(得分:2)

非常简单:

1:使用今天创建日期对象&#39;日期和时间。 2:使用日期对象方法检索日,月和全年,并使用+运算符连接它们。

访问http://www.thesstech.com/javascript/date-time JavaScript,获取有关日期和时间的详细教程。

示例代码:

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

答案 8 :(得分:1)

与原始答案相同,只是一行:

var tomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000)

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

答案 9 :(得分:0)

function getMonday(d)
{
   // var day = d.getDay();
   var day = @Config.WeekStartOn
   diff = d.getDate() - day + (day == 0 ? -6 : 0);
   return new Date(d.setDate(diff));
}

答案 10 :(得分:0)

您可以尝试以下操作:

function Tomorrow(date=false) {
    var givendate = (date!=false) ? new Date(date) : new Date();
    givendate.setDate(givendate.getDate() + 1);
    var day = givendate.getUTCDate()
    var month = givendate.getUTCMonth()+1
    var year = givendate.getUTCFullYear()
    result ="<b>" + day + "/" + month + "/" + year + "</b>";
    return result;
} 
var day = Tomorrow('2020-06-30');
console.log('tomorrows1: '+Tomorrow('2020-06-30'));
console.log('tomorrows2: '+Tomorrow());

答案 11 :(得分: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))

答案 12 :(得分:0)

仅使用JS(纯js)

今天

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

后天

只需乘以两个ex:-2 * 86400000

您可以从https://stackoverflow.com/a/3191729/7877099

中找到所有语言环境的短代码

答案 13 :(得分:0)

//to get date of tomorrow
let tomorrow=new Date(`${(new Date()).getFullYear()}-${(new Date()).getMonth()+1}-${(new Date()).getDate()+1}`);

//for dd-mm-yy format
tomorrow=`${tomorrow.getDate()}-${tomorrow.getMonth()+1}-${((tomorrow.getFullYear()).toString()).slice(-2)}`;

document.write(tomorrow)

答案 14 :(得分:-1)

        //-----------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----------------------

答案 15 :(得分:-1)

let counter:number = 0;
        for(let poi of this.pois) {             
            let coord = poi.LocationCoordinates.replace(' ', '').split(',');
            let that = this;
            this.map.addMarker({
                icon: 'marker.png',
                animation: 'DROP',
                position: {
                    lat: coord[0],
                    lng: coord[1]
                }
            }).then(marker => {     
                console.log(counter);                               
                marker.on(GoogleMapsEvent.MARKER_CLICK).subscribe(() => {                       
                    that.goToSlide(counter);                        
                });
                counter++;
            });         
        }

简单!用dd.mm.yyyy格式。