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?

7voto

rovyko Punkte 3516

Die beiden ersten Antworten sind falsch.

Ein kurzer Einzeiler, der reines JavaScript verwendet, die lokale Zeitzone berücksichtigt und keine Definition zusätzlicher Funktionen erfordert:

const element = document.getElementById('date-input');
element.valueAsNumber = Date.now()-(new Date()).getTimezoneOffset()*60000;

<input id='date-input' type='date'>

Ermittelt die aktuelle Datumszeit in Millisekunden (seit Epoche) und wendet den Zeitzonenversatz in Millisekunden an (Minuten * 60k Minuten pro Millisekunde).

Sie können das Datum einstellen mit element.valueAsDate aber dann haben Sie einen zusätzlichen Aufruf der Date() Konstrukteur.

6voto

teshguru Punkte 3435

Sehr einfach, verwenden Sie einfach serverseitige Sprachen wie PHP, ASP, JAVA oder auch Sie können Javascript verwenden.

Hier ist die Lösung

<?php
  $timezone = "Asia/Colombo";
  date_default_timezone_set($timezone);
  $today = date("Y-m-d");
?>
<html>
  <body>
    <input type="date" value="<?php echo $today; ?>">
  </body>
</html>

5voto

Dexygen Punkte 12014

Bei den einfachsten Lösungen scheint übersehen zu werden, dass die UTC-Zeit genutzt wird, auch bei denjenigen, die sehr hoch bewertet werden. Im Folgenden finden Sie eine gestraffte, ES6, nicht jQuery Version von ein paar bestehenden Antworten:

const today = (function() {
    const now = new Date();
    const month = (now.getMonth() + 1).toString().padStart(2, '0');
    const day = now.getDate().toString().padStart(2, '0');
    return `${now.getFullYear()}-${month}-${day}`;
})();

console.log(today);  // as of posting this answer: 2019-01-24

5voto

CodeValve Punkte 85

Für NodeJS (Express mit SWIG-Vorlagen):

<input type="date" id="aDate" name="aDate" class="form-control" value="{{ Date.now() | date("Y-m-d") }}" />

5voto

user2615287 Punkte 91

Wenn Sie ein Eingabedatum eingeben müssen, können Sie dies verwenden:

<input type="datetime-local" name="datetime" 
       value="<?php echo date('Y-m-d').'T'.date('H:i'); ?>" />

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