2012-09-13 6 views
195

Ich möchte ein aktuelles Datum zu einem versteckten HTML-Tag hinzuzufügen, so dass sie an den Server gesendet werden können:Wie aktuell formatierte Datum tt/mm/jjjj in Javascript bekommen und hängen Sie ihn an einem Eingang

<input type="hidden" id="DATE" name="DATE" value="WOULD_LIKE_TO_ADD_DATE_HERE"> 

Wie kann ich dem VALUE-Attribut ein formatiertes Datum hinzufügen?

+1

Das erste, was: nicht mischen Java mit Javascript (spalte nicht einmal die Wörter Java und Script!). Sie sind völlig verschiedene Sprachen. –

+0

Benötigen Sie das lokale Datum des Kunden? Könnte eine Option sein, das Datum des Servers zu verwenden? – gparis

Antwort

387

Ich hoffe, das ist, was Sie wollen:

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 

var yyyy = today.getFullYear(); 
if(dd<10){ 
    dd='0'+dd; 
} 
if(mm<10){ 
    mm='0'+mm; 
} 
var today = dd+'/'+mm+'/'+yyyy; 
document.getElementById("DATE").value = today; 

How do I get the current date in JavaScript?

+10

Ersetzen Sie für die meisten Anwendungen die letzte Zeile durch "Heute zurückgeben". – sitesbyjoe

+14

Dies ist hilfreich, bestätigt aber, dass Javascript bei der Rückgabe eines formatierten Datums unglaublich ineffizient ist. Es ist unerfindlich, mehr als eine Codezeile schreiben zu müssen, um dies zu tun ... – jlbriggs

+60

'neues Datum (Date.now()). ToLocaleString();' –

-2

Sie bearbeiten value eines Elements, indem Sie seine .value Eigenschaft bearbeiten.

document.getElementById('DATE').value = 'New Value'; 
1

der getElementByid Methode DOM Verwendung:

document.getElementById("DATE").value = "your date";

kann ein Termin mit dem Date gemacht werden Klasse:

d = new Date();

(Protip: eine JavaScript-Konsole installieren wie in Chrome oder Firefox Firebug-Erweiterung. Es ermöglicht Ihnen, mit dem DOM und Javascript)

0

Durch die Verwendung des Value-Attribut zu spielen:

var today = new Date(); 
document.getElementById('DATE').value += today; 
2

Um aktuelle Datum/Zeit in Javascript zu bekommen:

var date = new Date(); 

Wenn Sie Millisekunden für die einfache brauchen serverseitige Interpretation Verwendung

var value = date.getTime(); 

Zum Formatieren von Datumsangaben in eine vom Benutzer lesbare Zeichenfolge siehe this

Dann schreiben Sie einfach auf verstecktes Feld:

document.getElementById("DATE").value = value; 
66
<input type="hidden" id="date"/> 
<script>document.getElementById("date").value = new Date().toJSON().slice(0,10)</script> 
+7

d.toJSON(). slice (0,10) .split ('-'). reverse(). join ('/') – Gaurav

+0

Schnellster Weg, es ohne externe Bibliotheken zu tun. Sehr gut. – jony

+3

Eine Alternative zu @ Gauravs Lösung für diejenigen von uns, die das Datum im ISO-Format benötigen: 'new Date(). ToJSON(). Slice (0,10) .replace (/ -/g, '/')' – jony

143

Ich schlage vor, ehrlich gesagt, dass Sie moment.js verwenden. Nur moment.min.js herunterladen und dann diese Schnipsel zu Ihrem Termin erhalten in was auch immer Sie das gewünschte Format:

<script> 
$(document).ready(function() { 

    // set an element 
    $("#date").val(moment().format('MMM D, YYYY')); 

    // set a variable 
    var today = moment().format('D MMM, YYYY'); 

}); 
</script> 

Verwenden folgende Tabelle für Datumsformate:

enter image description here

+1

einfache und effektive Lösung für alle Datumsanzeige Probleme in JavaScript – Jakki

+1

Ich werde definitiv moment.js aus verwenden jetzt an. Sehr einfach und sehr effektiv zu verwenden. @Ali vielen Dank. – FrenkyB

+1

Sie können Daten wie folgt analysieren: Moment ('26/04/2016 ',' TT/MM/JJJJ ') Format (' JJJJ-MM-TT '); – WoodyDRN