407 Stimmen

Berechnung des letzten Tages des Monats

Wenn Sie 0 als die dayValue en Date.setFullYear erhalten Sie den letzten Tag des Vormonats:

d = new Date(); d.setFullYear(2008, 11, 0); //  Sun Nov 30 2008

Ein Hinweis auf dieses Verhalten findet sich unter mozilla . Ist dies eine zuverlässige browserübergreifende Funktion oder sollte ich mir alternative Methoden ansehen?

0voto

Gungnir Punkte 211

Wenn Sie das genaue Monatsende in Milisekunden benötigen (z. B. in einem Zeitstempel):

d = new Date()
console.log(d.toString())
d.setDate(1)
d.setHours(23, 59, 59, 999)
d.setMonth(d.getMonth() + 1)
d.setDate(d.getDate() - 1)
console.log(d.toString())

0voto

TIGER Punkte 2745

Die akzeptierte Antwort funktioniert bei mir nicht, ich habe es wie unten beschrieben gemacht.

$( function() {
  $( "#datepicker" ).datepicker();
  $('#getLastDateOfMon').on('click', function(){
    var date = $('#datepicker').val();

    // Format 'mm/dd/yy' eg: 12/31/2018
    var parts = date.split("/");

    var lastDateOfMonth = new Date();
                lastDateOfMonth.setFullYear(parts[2]);
                lastDateOfMonth.setMonth(parts[0]);
                lastDateOfMonth.setDate(0);

     alert(lastDateOfMonth.toLocaleDateString());
  });
});

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://stackoverflow.com//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="http://stackoverflow.com/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>

<p>Date: <input type="text" id="datepicker"></p>
<button id="getLastDateOfMon">Get Last Date of Month </button>

</body>
</html>

0voto

gshoanganh Punkte 49

So erhalten Sie den letzten Tag des aktuellen Monats.

Hinweise: auf ios-Geräten wird die Zeit mitgerechnet . #gshoanganh

var date = new Date();
console.log(new Date(date.getFullYear(), date.getMonth() + 1, 0, 23, 59, 59));

0voto

SKM Punkte 220

Wenn Sie nur das letzte Datum eines Monats brauchen, das für mich funktioniert.

var d = new Date();
const year = d.getFullYear();
const month = d.getMonth();

const lastDay =  new Date(year, month +1, 0).getDate();
console.log(lastDay);

Probieren Sie es hier aus https://www.w3resource.com/javascript-exercises/javascript-date-exercise-9.php

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X