wake-up-neo.com

Legen Sie das Datum 10 Tage in der Zukunft fest und formatieren Sie es auf TT/MM/JJJJ (z. B. 21/08/2010).

Ich würde mich sehr über die Hilfe bei der Erstellung von JavaScript freuen, das schließlich in Selenium verwendet wird und das Datum automatisch 10 Tage vor dem aktuellen Datum einstellt und im folgenden Format TT/MM/JJJJ anzeigt.

Ich habe derzeit das folgende Skript, aber ich komme damit nicht weiter:

var myDate=new Date();
myDate.now.format(myDate.setDate(myDate.getDate()+5),("dd/mm/yyyy");

Jede Hilfe wäre sehr dankbar.

23
Julian

Hier ist ein Beispiel für das zukünftige Datum ...

var targetDate = new Date();
targetDate.setDate(targetDate.getDate() + 10);

// So you can see the date we have created
alert(targetDate);

var dd = targetDate.getDate();
var mm = targetDate.getMonth() + 1; // 0 is January, so we must add 1
var yyyy = targetDate.getFullYear();

var dateString = dd + "/" + mm + "/" + yyyy;

// So you can see the output
alert(dateString);

Es gibt einige elegantere Möglichkeiten, Datumsangaben zu formatieren. Beispiele finden Sie unter den folgenden Zielen:

http://www.west-wind.com/Weblog/posts/282495.aspx

http://www.svendtofte.com/javascript/javascript-date-string-formatting/

23
Fenton

Versuchen:

new Date(Date.now() + (1000 /*sec*/ * 60 /*min*/ * 60 /*hour*/ * 24 /*day*/ * 10))
13
HaNdTriX

Ich musste so etwas tun, aber ich brauchte das Ergebnis in einer Reihe. So funktionierte es für mich, das Datum in 10 Tagen zu bekommen:

new Date((new Date()).getTime() + (10 * 86400000))
1
Jayd

Was ich tun würde, ist ein benutzerdefiniertes DateHelper-Objekt zu erstellen, das folgendermaßen 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 10 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), 10));

(siehe auch this Fiddle )

0
John Slegers

Ich musste das zukünftige Jahr durch das Hinzufügen von Monaten erhalten:

var duration = 13;
var month = 11;
var year = 2018;
var final_year = new Date(year, month + duration);
document.body.innerHTML = final_year.getFullYear();

0
Ulugov

Dieses ursprüngliche Seitenthema stammt aus 2010. Daher habe ich diese Antwort im August 2017 hinzugefügt. Es ist eine einfache Lösung, die gut zum Erstellen eines rollierenden Datums - Bereichs basierend auf dem aktuellen Datum geeignet ist.

Beispiel: Wenn heute der 28. August 2017 ist und Sie ein Startdatum von -7 Tagen in der Vergangenheit und ein zukünftiges Datum von 23 Tagen in der Zukunft wünschen, wird der folgende JavaScript-Code eine Datumsbereichszeichenfolge ausgeben: 21. August bis 20. September 2017

Am nächsten Tag, am 29. August 2017, lautet der Datumsbereich 22. August bis 21. September 2017

Hinweis: Bei Bedarf können Sie den Code so ändern, dass das Startdatum oder das zukünftige Datum statisch wird.

So verwenden Sie es im HTML-Code:

Die Veranstaltung findet statt: <script>document.write(dateRange)</script>

wird nachgeben:

Die Veranstaltung findet statt: 21. August bis 20. September 2017

var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";

var startDate = new Date();
startDate.setDate(startDate.getDate() -7 );

var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 23);

var m1 = month[startDate.getMonth()];
var d1 = startDate.getDate();
var y1 = startDate.getFullYear();

var m2 = month[futureDate.getMonth()];
var d2 = futureDate.getDate();
var y2 = futureDate.getFullYear();

var dateRange = m1 + ' ' + d1 + ' thru ' + m2 + ' ' + d2 + ', ' + y2;

// alert(dateRange); use alert function to test the date range
0
Sammy