2012-09-13 22 views
195

Chciałbym dodać aktualną datę do ukrytego tagu HTML tak, że może być wysłany do serwera:Jak zdobyć aktualną sformatowana data dd/mm/rrrr w JavaScript i dołączyć go do wejścia

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

Jak dodać sformatowaną datę do atrybutu VALUE?

+1

Pierwsza sprawa: nie mieszać Java z JavaScript (nie dziel nawet słów Java i Script!). Są to zupełnie różne języki. –

+0

Czy potrzebujesz lokalnej daty klienta? Czy możliwe jest użycie daty serwera? – gparis

Odpowiedz

387

Mam nadzieję, że to, co chcesz:

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

W przypadku większości zastosowań zastąp ostatnią linię słowem "dziś wróć"; – sitesbyjoe

+14

Jest to pomocne, ale potwierdza, że ​​JavaScript jest niesamowicie nieefektywny pod względem zwracania sformatowanej daty. Trudno jest napisać więcej niż jedną linię kodu, aby to zrobić ... – jlbriggs

+60

'new Date (Date.now()). ToLocaleString();' –

-2

Edytujesz element value, edytując jego właściwość .value.

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

Użyj DOM za getElementByid metody:

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

A data może być wykonany z Date klasa:

d = new Date();

(protip: zainstalować konsolę javascript takich jak Chrome czy Firefox”Firebug rozszerzenie. To pozwala grać z DOM i JavaScript)

0

Za pomocą atrybutu value:

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

Aby uzyskać bieżącą datę/czas w javascript:

var date = new Date(); 

Jeśli potrzebujesz milisekund na łatwe interpretacja po stronie serwera:

Aby sformatować daty w czytelny dla użytkownika ciąg, zobacz this

Następnie wystarczy napisać do pola ukryte:

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

Najszybszy sposób, aby to zrobić bez zewnętrznych bibliotek. Bardzo dobrze. – jony

+3

Alternatywa dla rozwiązania @ Gaurav dla tych z nas, którzy potrzebują daty w ISO fomat: 'new Date(). ToJSON(). Slice (0,10) .replace (/ -/g, '/')' – jony

143

szczerze sugerujemy użyć moment.js. Wystarczy pobrać moment.min.js a następnie użyć tego fragmentu kodu, aby uzyskać datę w dowolnym formacie chcesz:

<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> 

użyć poniższy wykres dla formatów Data:

enter image description here

+1

proste i skuteczne rozwiązanie wszystkich problemów z wyświetlaniem daty w JavaScript – Jakki

+1

Zdecydowanie skorzystam z chwili.js z teraz. Bardzo łatwy i bardzo skuteczny w użyciu. @Ali bardzo dziękuję. – FrenkyB

+1

Można analizować daty takie jak ten: moment ('26/04/2016 ',' DD/MM/RRRR '). Format ("RRRR-MM-DD"); – WoodyDRN