it-swarm.com.de

Tage zum JavaScript-Datum hinzufügen

Wie man mit JavaScript Tage zur aktuellen Date hinzufügt. Hat JavaScript eine eingebaute Funktion wie AddDay von .Net?

816
Ashesh

Sie können eins erstellen mit: -

Date.prototype.addDays = function(days) {
    var date = new Date(this.valueOf());
    date.setDate(date.getDate() + days);
    return date;
}

var date = new Date();

alert(date.addDays(5));

Dadurch wird ggf. automatisch der Monat erhöht. Zum Beispiel:

8/31 + 1 Tag wird 9/1.

Das Problem bei der direkten Verwendung von setDate ist, dass es sich um einen Mutator handelt und solche Dinge am besten vermieden werden. ECMA hielt es für angebracht, Date als veränderliche Klasse und nicht als unveränderliche Struktur zu behandeln.

942
AnthonyWJones

Korrekte Antwort:

function addDays(date, days) {
  var result = new Date(date);
  result.setDate(result.getDate() + days);
  return result;
}

Falsche Antwort:

Diese Antwort manchmal liefert das korrekte Ergebnis, liefert aber häufig das falsche Jahr und den falschen Monat. Diese Antwort funktioniert nur dann, wenn das Datum, an dem Sie Tage hinzufügen, zufällig das aktuelle Jahr und den aktuellen Monat aufweist.

// Don't do it this way!
function addDaysWRONG(date, days) {
  var result = new Date();
  result.setDate(date.getDate() + days);
  return result;
}

Beweis/Beispiel

Überprüfe diese JsFiddle

// Correct
function addDays(date, days) {
    var result = new Date(date);
    result.setDate(result.getDate() + days);
    return result;
}

// Bad Year/Month
function addDaysWRONG(date, days) {
    var result = new Date();
    result.setDate(date.getDate() + days);
    return result;
}

// Bad during DST
function addDaysDstFail(date, days) {
    var dayms = (days * 24 * 60 * 60 * 1000);
    return new Date(date.getTime() + dayms);    
}

// TEST
function formatDate(date) {
    return (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
}

$('tbody tr td:first-child').each(function () {
    var $in = $(this);
    var $out = $('<td/>').insertAfter($in).addClass("answer");
    var $outFail = $('<td/>').insertAfter($out);
    var $outDstFail = $('<td/>').insertAfter($outFail);
    var date = new Date($in.text());
    var correctDate = formatDate(addDays(date, 1));
    var failDate = formatDate(addDaysWRONG(date, 1));
    var failDstDate = formatDate(addDaysDstFail(date, 1));

    $out.text(correctDate);
    $outFail.text(failDate);
    $outDstFail.text(failDstDate);
    $outFail.addClass(correctDate == failDate ? "right" : "wrong");
    $outDstFail.addClass(correctDate == failDstDate ? "right" : "wrong");
});
body {
    font-size: 14px;
}

table {
    border-collapse:collapse;
}
table, td, th {
    border:1px solid black;
}
td {
    padding: 2px;
}

.wrong {
    color: red;
}
.right {
    color: green;
}
.answer {
    font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
    <tbody>
        <tr>
            <th colspan="4">DST Dates</th>
        </tr>
        <tr>
            <th>Input</th>
            <th>+1 Day</th>
            <th>+1 Day Fail</th>
            <th>+1 Day DST Fail</th>
        </tr>
        <tr><td>03/10/2013</td></tr>
        <tr><td>11/03/2013</td></tr>
        <tr><td>03/09/2014</td></tr>
        <tr><td>11/02/2014</td></tr>
        <tr><td>03/08/2015</td></tr>
        <tr><td>11/01/2015</td></tr>
        <tr>
            <th colspan="4">2013</th>
        </tr>
        <tr>
            <th>Input</th>
            <th>+1 Day</th>
            <th>+1 Day Fail</th>
            <th>+1 Day DST Fail</th>
        </tr>
        <tr><td>01/01/2013</td></tr>
        <tr><td>02/01/2013</td></tr>
        <tr><td>03/01/2013</td></tr>
        <tr><td>04/01/2013</td></tr>
        <tr><td>05/01/2013</td></tr>
        <tr><td>06/01/2013</td></tr>
        <tr><td>07/01/2013</td></tr>
        <tr><td>08/01/2013</td></tr>
        <tr><td>09/01/2013</td></tr>
        <tr><td>10/01/2013</td></tr>
        <tr><td>11/01/2013</td></tr>
        <tr><td>12/01/2013</td></tr>
        <tr>
            <th colspan="4">2014</th>
        </tr>
        <tr>
            <th>Input</th>
            <th>+1 Day</th>
            <th>+1 Day Fail</th>
            <th>+1 Day DST Fail</th>
        </tr>
        <tr><td>01/01/2014</td></tr>
        <tr><td>02/01/2014</td></tr>
        <tr><td>03/01/2014</td></tr>
        <tr><td>04/01/2014</td></tr>
        <tr><td>05/01/2014</td></tr>
        <tr><td>06/01/2014</td></tr>
        <tr><td>07/01/2014</td></tr>
        <tr><td>08/01/2014</td></tr>
        <tr><td>09/01/2014</td></tr>
        <tr><td>10/01/2014</td></tr>
        <tr><td>11/01/2014</td></tr>
        <tr><td>12/01/2014</td></tr>
        <tr>
            <th colspan="4">2015</th>
        </tr>
        <tr>
            <th>Input</th>
            <th>+1 Day</th>
            <th>+1 Day Fail</th>
            <th>+1 Day DST Fail</th>
        </tr>
        <tr><td>01/01/2015</td></tr>
        <tr><td>02/01/2015</td></tr>
        <tr><td>03/01/2015</td></tr>
        <tr><td>04/01/2015</td></tr>
        <tr><td>05/01/2015</td></tr>
        <tr><td>06/01/2015</td></tr>
        <tr><td>07/01/2015</td></tr>
        <tr><td>08/01/2015</td></tr>
        <tr><td>09/01/2015</td></tr>
        <tr><td>10/01/2015</td></tr>
        <tr><td>11/01/2015</td></tr>
        <tr><td>12/01/2015</td></tr>
    </tbody>
</table>

620
sparebytes
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);

Seien Sie vorsichtig, denn das kann schwierig sein. Wenn Sie "Morgen" einstellen, funktioniert es nur, weil der aktuelle Wert für "Heute" mit Jahr und Monat übereinstimmt. Die Einstellung auf eine Datumsnummer wie "32" funktioniert normalerweise trotzdem gut, um den nächsten Monat zu erreichen.

154
Joel Coehoorn

Meine einfache Lösung ist:

nextday=new Date(oldDate.getFullYear(),oldDate.getMonth(),oldDate.getDate()+1);

diese Lösung hat kein Problem mit der Sommerzeit. Außerdem kann man jeden Offset für Jahre, Monate, Tage usw. hinzufügen/subversieren.

day=new Date(oldDate.getFullYear()-2,oldDate.getMonth()+22,oldDate.getDate()+61);

ist korrekter Code.

77
sbrbot

Diese Antworten erscheinen mir verwirrend, ich bevorzuge:

var ms = new Date().getTime() + 86400000;
var tomorrow = new Date(ms);

getTime () gibt uns seit 1970 Millisekunden, und 86400000 ist die Anzahl der Millisekunden pro Tag. Daher enthält ms Millisekunden für das gewünschte Datum. 

Die Verwendung des Millisekunden-Konstruktors ergibt das gewünschte Datumsobjekt.

70
Jason

Versuchen 

var someDate = new Date();
var duration = 2; //In Days
someDate.setTime(someDate.getTime() +  (duration * 24 * 60 * 60 * 1000));

Verwenden Sie setDate (), um ein Datum hinzuzufügen, das Ihr Problem nicht lösen wird. Versuchen Sie, einige Tage zu einem Februar-Monat hinzuzufügen. Wenn Sie versuchen, neue Tage hinzuzufügen, führt dies nicht zu dem, was Sie erwartet haben.

41
sufyan.shoaib

Ich habe lange damit verbracht, herauszufinden, was der Deal mit dem Jahr war, und fügte nicht hinzu, wenn man die Leitbeispiele unten befolgte.

Wenn Sie einfach n Tage zu dem Datum hinzufügen möchten, das Sie haben, gehen Sie am besten:

myDate.setDate (myDate.getDate () + n);

oder die Langwind-Version

var theDate = new Date(2013, 11, 15);
var myNewDate = new Date(theDate);
myNewDate.setDate(myNewDate.getDate() + 30);
console.log(myNewDate);

Das heute/morgen-Zeug ist verwirrend. Wenn Sie das aktuelle Datum in Ihre neue Datumsvariable setzen, wird der Jahreswert durcheinander gebracht. Wenn Sie nach dem ursprünglichen Datum arbeiten, werden Sie nicht arbeiten.

31
Rumpleteaser

Wenn Sie können, verwenden Sie moment.js . JavaScript verfügt nicht über sehr gute native Datums-/Uhrzeitmethoden. Das folgende Beispiel zeigt die Syntax von Moment:

var nextWeek = moment().add(7, 'days');
alert(nextWeek);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js"></script>

Referenz: http://momentjs.com/docs/#/manipulating/add/

21
user2910265

Ich habe diese Erweiterungen letzte Nacht erstellt:
Sie können entweder positive oder negative Werte übergeben.

beispiel:

var someDate = new Date();
var expirationDate = someDate.addDays(10);
var previous = someDate.addDays(-5);


Date.prototype.addDays = function (num) {
    var value = this.valueOf();
    value += 86400000 * num;
    return new Date(value);
}

Date.prototype.addSeconds = function (num) {
    var value = this.valueOf();
    value += 1000 * num;
    return new Date(value);
}

Date.prototype.addMinutes = function (num) {
    var value = this.valueOf();
    value += 60000 * num;
    return new Date(value);
}

Date.prototype.addHours = function (num) {
    var value = this.valueOf();
    value += 3600000 * num;
    return new Date(value);
}

Date.prototype.addMonths = function (num) {
    var value = new Date(this.valueOf());

    var mo = this.getMonth();
    var yr = this.getYear();

    mo = (mo + num) % 12;
    if (0 > mo) {
        yr += (this.getMonth() + num - mo - 12) / 12;
        mo += 12;
    }
    else
        yr += ((this.getMonth() + num - mo) / 12);

    value.setMonth(mo);
    value.setYear(yr);
    return value;
}
18
mark.nino.chua
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);

16
Serge

Die einfachste Lösung.

 Date.prototype.addDays = function(days) {
   this.setDate(this.getDate() + parseInt(days));
   return this;
 };

 // and then call

 var newDate = new Date().addDays(2); //+2 days
 console.log(newDate);

 // or

 var newDate1 = new Date().addDays(-2); //-2 days
 console.log(newDate1);

11
ampachts

Spät zur Party, wenn Sie jedoch jQuery verwenden, dann Es gibt ein hervorragendes Plugin namens Moment:

http://momentjs.com/

var myDateOfNowPlusThreeDays = moment().add(3, "days").toDate();

http://momentjs.com/docs/#/manipulating/

Und noch viele andere gute Sachen!

Edit: jQuery Referenz wurde dank aikerus Kommentar entfernt

8
RemarkLima

Danke Jason für Ihre Antwort, die wie erwartet funktioniert, hier ist eine Mischung aus Ihrem Code und dem praktischen Format von AnthonyWJones:

Date.prototype.addDays = function(days){
    var ms = new Date().getTime() + (86400000 * days);
    var added = new Date(ms);
    return added;
}
7
Olivier

Alt weiß ich, aber manchmal gefällt mir das:

function addDays(days) {
    return new Date(Date.now() + 864e5 * days);
}
7
Todd

Nein, Javascript hat keine eingebaute Funktion, aber Sie können eine einfache Codezeile verwenden

timeObject.setDate(timeObject.getDate() + countOfDays);
6
Vahag Chakhoyan

Die Mozilla-Dokumente für setDate () geben nicht an, dass Szenarien am Monatsende behandelt werden. __ Siehe https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

datum einstellen()

  • Legt den Tag des Monats (1-31) für ein angegebenes Datum entsprechend der Ortszeit fest.

Deshalb verwende ich setTime (), wenn ich Tage hinzufügen muss.

6
Blake Mills

Ich denke, ich werde auch eine Antwort geben:
Persönlich versuche ich gerne, eine unglückliche Variablendeklaration, Methodenaufrufe und Konstruktoraufrufe zu vermeiden, da sie alle hinsichtlich der Leistung teuer sind. (natürlich innerhalb des Grundes)
Ich wollte dies nur als Kommentar unter der von @AnthonyWJones gegebenen Antwort belassen, dachte aber besser darüber nach.

// Prototype usage...
Date.prototype.addDays = Date.prototype.addDays || function( days ) {
    return this.setTime( 864E5 * days + this.valueOf() ) && this;
};

// Namespace usage...
namespace.addDaysToDate = function( date, days ) {
    return date.setTime( 864E5 * days + date.valueOf() ) && date;
};

// Basic Function declaration...
function addDaysToDate( date, days ) {
    return date.setTime( 864E5 * days + date.valueOf() ) && date;
};

Das Obige wird DST respektieren. Das heißt, wenn Sie eine Anzahl von Tagen hinzufügen, die die Sommerzeit überschreiten, ändert sich die angezeigte Zeit (Stunde) entsprechend.
Beispiel:
2. Nov. 2014 02:00 war das Ende der Sommerzeit.

var dt = new Date( 2014, 10, 1, 10, 30, 0 );
console.log( dt );                  // Sat Nov 01 2014 10:30:00
console.log( dt.addDays( 10 ) );    // Tue Nov 11 2014 09:30:00

Wenn Sie die Zeit zwischen Sommerzeit beibehalten möchten (10:30 Uhr ist immer noch 10:30 Uhr) ...

// Prototype usage...
Date.prototype.addDays = Date.prototype.addDays || function( days ) {
    return this.setDate( this.getDate() + days ) && this;
};

// Namespace usage...
namespace.addDaysToDate = function( date, days ) {
    return date.setDate( date.getDate() + days ) && date;
};

// Basic Function declaration...
function addDaysToDate( date, days ) {
    return date.setDate( date.getDate() + days ) && date;
};

So, jetzt hast du ...

var dt = new Date( 2014, 10, 1, 10, 30, 0 );
console.log( dt );                  // Sat Nov 01 2014 10:30:00
console.log( dt.addDays( 10 ) );    // Tue Nov 11 2014 10:30:00
6
Duncan

Ich hatte Probleme mit der Sommerzeit mit der vorgeschlagenen Lösung.

Durch die Verwendung von getUTCDate/setUTCDate löste ich mein Problem.

// Curried, so that I can create helper functions like `add1Day`
const addDays = num => date => {
  // Make a working copy so we don't mutate the supplied date.
  const d = new Date(date);

  d.setUTCDate(d.getUTCDate() + num);

  return d;
}
6
Joshua Comeau

Ich benutze so etwas wie:

new Date(dateObject.getTime() + amountOfDays * 24 * 60 * 60 * 1000)

Funktioniert mit Tagessparzeit:

new Date(new Date(2014, 2, 29, 20, 0, 0).getTime() + 1 * 24 * 60 * 60 * 1000)

Funktioniert mit Neujahr:

new Date(new Date(2014, 11, 31, 20, 0, 0).getTime() + 1 * 24 * 60 * 60 * 1000)

Es kann parametrisiert werden:

function DateAdd(source, amount, step) {
  var factor = 1;
  if (step == "day") factor = 24 * 60 * 60 * 1000;
  else if (step == "hour") factor = 60 * 60 * 1000;
  ...
  new Date(source.getTime() + amount * factor);
}
5
kpull1

Ohne die zweite Variable können Sie 7 durch Ihre nächsten x Tage ersetzen:

let d=new Date(new Date().getTime() + (7 * 24 * 60 * 60 * 1000));
5
vaibhavmaster

Ich verwende die folgende Lösung.

var msInDay = 86400000;
var daysToAdd = 5;
var now = new Date();
var milliseconds = now.getTime();
var newMillisecods = milliseconds + msInDay * daysToAdd;
var newDate = new Date(newMillisecods);
//or now.setTime(newMillisecods);

Date hat einen Konstruktor, der ein int akzeptiert. Dieses Argument steht für die gesamten Millisekunden vor/nach dem 1. Januar 1970. Es hat auch eine Methode setTime, die dasselbe tut, ohne ein neues Date-Objekt zu erstellen.

Wir konvertieren hier Tage in Millisekunden und addieren diesen Wert zu dem von getTime bereitgestellten Wert. Schließlich geben wir das Ergebnis an den Konstruktor Date (Millisekunden) oder die Methode setTime (Millisekunden) weiter.

4
Vakhtang

Edit: Anstelle von setTime() (oder setHours()) können Sie dies folgendermaßen tun:

Date.prototype.addDays= function(d){
  this.setDate(this.getDate() + d);
  return this;
};

var tomorrow = new Date().addDays(1);

Alt:

Anstelle von setTime() können Sie setHours() verwenden:

Date.prototype.addDays= function(d){
    this.setHours(this.getHours() + d * 24);
    return this;
};

var tomorrow = new Date().addDays(1);

Siehe die JSFiddle ...

4
spaark

Sehr einfacher Code zum Hinzufügen von Tagen im Java-Skript.

var d = new Date();
d.setDate(d.getDate() + Prompt('how many days you want to add write here'));
alert(d);

4
Rana Aalamgeer

Unser Team betrachtet date-fns als die beste Bibliothek in diesem Bereich. Es behandelt Datumsangaben als immutable ( Moment.js wird wahrscheinlich niemals die Unveränderbarkeit annehmen ), es ist schneller und kann modular geladen werden.

const newDate = DateFns.addDays(oldDate, 2);
3
Luke Williams

Es gibt eine setDate - und eine getDate - Methode, mit der Sie Folgendes tun können:

var newDate = aDate.setDate(aDate.getDate() + numberOfDays);

Wenn Sie eine Anzahl von Tagen subtrahieren und Ihr Datum in einem für Menschen lesbaren Format formatieren möchten, sollten Sie ein benutzerdefiniertes DateHelper-Objekt erstellen, das ungefähr wie folgt aussieht:

var DateHelper = {
    addDays : function(aDate, numberOfDays) {
        aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
        return aDate;                                  // Return the date
    },
    format : function format(date) {
        return [
           ("0" + date.getDate()).slice(-2),           // Get day and pad it with zeroes
           ("0" + (date.getMonth()+1)).slice(-2),      // Get month and pad it with zeroes
           date.getFullYear()                          // Get full year
        ].join('/');                                   // Glue the pieces together
    }
}

// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Add 20 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), 20));

(siehe auch this Fiddle )

3
John Slegers

versuche dies

function addDays(date,days) {        
      var one_day=1000*60*60*24; 
      return new Date(date.getTime()+(days*one_day)).toLocaleDateString(); 
    }
2
LeMAK-Soft

Sie können JavaScript verwenden, es ist keine jQuery erforderlich:

var someDate = new Date();
var numberOfDaysToAdd = 6;
someDate.setDate(someDate.getDate() + numberOfDaysToAdd); 
Formatting to dd/mm/yyyy :

var dd = someDate.getDate();
var mm = someDate.getMonth() + 1;
var y = someDate.getFullYear();

var someFormattedDate = dd + '/'+ mm + '/'+ y;
2
Rohit.007
    //the_day is 2013-12-31
    var the_day = Date.UTC(2013, 11, 31); 
    // Now, the_day will be "1388448000000" in UTC+8; 
    var the_next_day = new Date(the_day + 24 * 60 * 60 * 1000);
    // Now, the_next_day will be "Wed Jan 01 2014 08:00:00 GMT+0800"
2
cs1707

Für diejenigen, die Angular verwenden:

Mach einfach:

$scope.booking.totTijd.setMinutes($scope.booking.totTijd.getMinutes()+15);
$scope.booking.totTijd.setDate($scope.booking.totTijd.getDate() + 1);
2
user3806549

Sie können hier Ihre benutzerdefinierte Hilfsfunktion erstellen

function plusToDate(currentDate, unit, howMuch) {

    var config = {
        second: 1000, // 1000 miliseconds
        minute: 60000,
        hour: 3600000,
        day: 86400000,
        week: 604800000,
        month: 2592000000, // Assuming 30 days in a month
        year: 31536000000 // Assuming 365 days in year
    };

    var now = new Date(currentDate);

    return new Date(now + config[unit] * howMuch);
}

var today = new Date();
var theDayAfterTommorow = plusToDate(today, 'day', 2);

Übrigens ist dies eine generische Lösung zum Hinzufügen von Sekunden oder Minuten oder Tagen, was immer Sie möchten.

1
Jitesh Tukadiya

Generischer Prototyp ohne Variablen, gilt für einen vorhandenen Date-Wert:

Date.prototype.addDays = function (days) {
    return new Date(this.valueOf() + days * 864e5);
}
1
Matteo Conta
function addDays(n){
    var t = new Date();
    t.setDate(t.getDate() + n); 
    var month = "0"+(t.getMonth()+1);
    var date = "0"+t.getDate();
    month = month.slice(-2);
    date = date.slice(-2);
     var date = date +"/"+month +"/"+t.getFullYear();
    alert(date);
}

addDays(5);
1
user123456789

Ich habe diesen Ansatz verwendet, um das richtige Datum in einer Zeile zu erhalten, um die Uhrzeit und einen Tag nach den oben genannten Aussagen zu ermitteln.

((new Date()).setDate((new Date()).getDate()+1))

Ich dachte nur, ich würde einen normalen (new Date()) aufbauen:

(new Date()).getDate()
> 21

Mit dem obigen Code kann ich jetzt alles in Date() in (new Date()) einstellen und verhält sich normal.

(new Date(((new Date()).setDate((new Date()).getDate()+1)))).getDate()
> 22

oder um das Date Objekt zu bekommen:

(new Date(((new Date()).setDate((new Date()).getDate()+1))))
0
yolk

zu subtrahieren 30 Tage verwenden

new Date(+yourDate - 30 *86400000)
var yourDate=new Date();
var d = new Date(+yourDate - 30 *86400000)

console.log(d)
0

2,39 KB minifiziert. Eine Datei https://github.com/rhroyston/clock-js

console.log(clock.what.weekday(clock.now + clock.unit.days)); //"wednesday"
console.log(clock.what.weekday(clock.now + (clock.unit.days * 2))); //"thursday"
console.log(clock.what.weekday(clock.now + (clock.unit.days * 3))); //"friday"
<script src="https://raw.githubusercontent.com/rhroyston/clock-js/master/clock.min.js"></script>

0
Ron Royston

js-joda ist eine fantastische unveränderliche Datums- und Zeitbibliothek für Javascript. Es ist ein Port von Java-8 DateTime ( JSR-310 ), der Nachfolger der berühmten Joda-Time - Bibliothek. Hier ist ein Auszug aus dem Spickzettel. 

Fügen Sie 17 Tage bis heute hinzu 

LocalDate.now().plusDays(17); 

Sie können auch das gewünschte Datum aus mehreren Vorgängen gleichzeitig erstellen.

LocalDate.now()
  .plusMonths(1)
  .withDayOfMonth(1)
  .minusDays(17); 

Oder:

var d = LocalDate.parse('2019-02-23'); 
d.minus(Period.ofMonths(3).plusDays(3)); // '2018-11-20'
0
makata

Verwenden Sie js-joda . Es ist eine großartige unveränderliche Datums- und Zeitbibliothek für Javascript . Hier ist ein Auszug aus seinem Spickzettel.

Füge 17 Tage zum heutigen Tag hinzu

LocalDate.now().plusDays(17); 

Sie können das gewünschte Datum auch aus mehreren Operationen gleichzeitig erstellen.

LocalDate.now()
  .plusMonths(1)
  .withDayOfMonth(1)
  .minusDays(17); 

Oder:

var d = LocalDate.parse('2019-02-23'); 
d.minus(Period.ofMonths(3).plusDays(3)); // '2018-11-20'
0
makata

So einfach wie dieses neue Datum ((new Date ()). GetTime () + (60 * 60 * 24 * 1000));

0
Dila Gurung

Ich kann nicht glauben, dass es in diesem Thread nach 5 Jahren keine Cut'n'Paste-Lösung gibt!
SO: Um die gleiche Tageszeit zu erhalten, unabhängig von Störungen im Sommer: 

Date.prototype.addDays = function(days)
    {
    var dat = new Date( this.valueOf() )

    var hour1 = dat.getHours()
    dat.setTime( dat.getTime() + days * 86400000) // 24*60*60*1000 = 24 hours
    var hour2 = dat.getHours()

    if (hour1 != hour2) // summertime occured +/- a WHOLE number of hours thank god!
        dat.setTime( dat.getTime() + (hour1 - hour2) * 3600000) // 60*60*1000 = 1 hour

    return dat
or
    this.setTime( dat.getTime() ) // to modify the object directly
    }

Dort. Erledigt!

0
T4NK3R

Der einfachste Weg, dies zu erreichen, ist die Bibliothek date-fns.

var addDays = require('date-fns/add_days')
addDays(date, amount)

Die Dokumentation finden Sie in diesem Link hier . Sie können dies auch mit moment.js erledigen. Der Referenzlink ist hier

Ich hoffe es hilft!

0
Tuan