Cum pot obține data curentă în JavaScript?
Utilizați noua Data()` pentru a genera un nou "Data" obiect care conține data și ora curentă.
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
document.write(today);
Acest lucru vă va oferi azi's date în formatul mm/dd/yyyy.
Pur și simplu schimba azi = mm +'/'+ dd +'/'+ aaaa;` de la orice format doriti.
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);
Utilizați "înlocuiți" opțiune dacă're de gând să reutilizați utc
variabile, cum ar fi noua Data(utc)`, ca Firefox și Opera don't recunoaște o data cu liniuțe.
ACTUALIZAT!, Derulați În Jos
Daca vrei ceva destul de simplu pentru end-user ... , de Asemenea, fixat un mic sufixul problemă în prima versiune de mai jos. Acum revine în mod corespunzător sufix.
var objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;
document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>
UBBER ACTUALIZARE După mult amânare, am'am în cele din urmă GitHubbed și actualizate cu soluția finală I'am fost folosind-o pentru mine. L's chiar mai avut ceva modificări pentru a face mai dulce! Daca're în căutarea pentru cele vechi [jsFiddle, vă rugăm să consultați acest][2].
Această actualizare vine în
de Asemenea, Rețineți: Acest lucru este încă mai puțin umflată decât moment.js. În timp ce moment.js este frumos, imo, nu are prea multe secular metode, care necesită învățare moment ca și cum ar fi o limba. Al meu aici folosește același format comun ca PHP: data.
Aroma 1 [
new Date().format(String)
][3] My Fav Personal. Știu tabu, dar mare de lucrări pe Obiect date. Doar să fie conștienți de orice alte mods poate avea la Data de Obiect.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Aroma 2 [
dateFormat(Data, String)
][4] Mai tradiționale all-in-o singură metodă. Are capacitatea de precedent, dar este numit prin metoda cu Data param.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
BONUS Aroma (necesită jQuery)
$.data(Data, String)
Acesta conține mult mai mult decât doar un simplu "format" opțiune. Se extinde de la Data de bază obiectul și include metode, cum ar fiaddDays
. Pentru mai multe informații, vă rugăm să consultați Git.
În acest mod, formatul personajele sunt inspirate de PHP: data. Pentru o listă completă, vă rugăm să-mi văd README
Acest mod are, de asemenea, o mult mai mult lista de pre-formate. Pentru a utiliza un premade format, pur și simplu introduceți cheia nume. dateFormat(new Date(), 'destul-o');
Cum se poate observa, puteți utiliza dublu \
pentru a scăpa de un caracter.
Cel mai scurt posibil.
Pentru a obține format ca "2018-08-03":
let today = new Date().toISOString().slice(0, 10)
console.log(today)
Pentru a obține format ca "8/3/2018":
let today = new Date().toLocaleDateString()
console.log(today)
De asemenea, puteți trece localizare ca argument, de exemplu toLocaleDateString("sr")
, etc.
Încercați acest lucru:
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
Rezultatul va fi o astfel
15/2/2012
Daca're în căutarea pentru o mulțime mai mult control granular asupra formate de dată, am recomanda verificarea momentjs. Teribil de bibliotecă - și numai 5KB. http://momentjs.com/
Puteți utiliza moment.js: http://momentjs.com/
var m = moment().format("DD/MM/YYYY");
document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
var d = (new Date()).toString().split(' ').splice(1,3).join(' ');
document.write(d)
Să-l rupe în jos, în pași:
(new Date()).toString()
dă "Fri Jun 28 2013 15:30:18 GMT-ORA 07: 00 (PDT)"
(new Date()).toString().split(' ')
împarte de mai sus șir pe fiecare spațiu și returnează o matrice, după cum urmează: ["Fri", "Iunie", "28", "2013", "15:31:14", "GMT-0700", "(PDT)"]
(new Date()).toString().split(' ').splice(1,3).alăturați-vă(' ')
ia a doua, a treia și a patra valorile de mai sus matrice, le unește cu spații, și returnează un șir de caractere "Jun 28 2013"
Asta functioneaza de fiecare data:
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear() + "-" + (month) + "-" + (day);
console.log(today);
var date = new Date().toLocaleDateString("en-US");
De asemenea, puteți apela metoda `toLocaleDateString cu doi parametri:
var date = new Date().toLocaleDateString("en-US", {
"year": "numeric",
"month": "numeric"
});
Mai curat, mai simplă versiune:
new Date().toLocaleString();
Rezultatul variază în funcție de utilizator's localizare:
2/27/2017, 9:15:41 AM
Puteți obține data curentă apela metoda statică acum astfel:
var now = Date.now()
referință:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
Varun's a răspunde nu ține cont de TimezoneOffset. Aici este o versiune care are:
var d = new Date()
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11
Anii TimezoneOffset
e minute, in timp ce constructorul are nevoie de milisecunde, astfel multiplicarea prin 60000
.
Ca toISOString()
va reveni numai UTC curente de timp , nu ora locală. Trebuie să facem o data prin utilizarea '.toString()' funcție pentru a obține data în yyyy-MM-dd
format ca
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('T')[0]);
Pentru a obține data și ora în în yyyy-MM-ddTHH:mm:ss
format
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0]);
Pentru a obține data și ora în în yyyy-MM-dd HH:mm:ss
format
document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0].replace('T',' '));