587 Stimmen

Wie setzt man den Standardwert des Eingabetyps Datum auf heute?

Gegeben ein Eingabeelement:

<input type="date" />

Gibt es eine Möglichkeit, den Standardwert des Datumsfelds auf das heutige Datum zu setzen?

2voto

Okiemute Gold Punkte 301

Verwenden Sie die Eigenschaft .defaultValue des Elements input:date, um den Standardwert des Datums auf das heutige Datum zu setzen.

<input type="date" id="date"/>

window.onload = function loadDate() {
    let date = new Date(),
        day = date.getDate(),
        month = date.getMonth() + 1,
        year = date.getFullYear();

    if (month < 10) month = "0" + month;
    if (day < 10) day = "0" + day;

    const todayDate = `${year}-${month}-${day}`;

    document.getElementById("date").defaultValue = todayDate;
};

loadDate();

Oder machen Sie es zu einer IIFE/selbstaufgerufenen Funktion, wenn das Fenster geladen wird

window.onload = (function loadDate() {
    let date = new Date(),
        day = date.getDate(),
        month = date.getMonth() + 1,
        year = date.getFullYear();

    if (month < 10) month = "0" + month;
    if (day < 10) day = "0" + day;

    const todayDate = `${year}-${month}-${day}`;

    document.getElementById("date").defaultValue = todayDate;
})();

Die Verwendung der Eigenschaft defaultValue bietet einen dynamischen Vorteil, im Gegensatz zur Einstellung des Datums mit dem Attribut value.

Beachten Sie auch, dass das Datumsformat übereinstimmen muss, daher meine Verwendung des Formats für todayDate as:

jjjj-mm-tt

Ich glaube, das beantwortet Ihre Frage, außer dass Sie ein statisches Anfangs- und Enddatum festlegen möchten. Befolgen Sie dazu bitte das folgende Beispiel von Mozilla:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date>

2voto

gajam Punkte 427

Eine einfache Lösung:

<input class="set-today" type="date">
<script type="text/javascript">
    window.onload= function() {
        document.querySelector('.set-today').value=(new Date()).toISOString().substr(0,10));
    }
</script>

2voto

kingsuede Punkte 21
new Date().getFullYear()+"-"+ ((parseInt(new Date().getMonth())+1+100)+"").substring(1)

2voto

Charnstyle Punkte 93

Per Javascript:

var today = new Date();

document.getElementById("theDate").value = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2);

1voto

Sean Punkte 267

Wenn Sie Ruby verwenden, können Sie damit den Standardwert auf das heutige Datum und die heutige Uhrzeit setzen:

<input type="datetime-local" name="time" value="<%= Time.now.strftime('%Y-%m-%dT%H:%M') %>" />

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