Kaip gauti dabartinę datą "JavaScript" programoje?
Naudokite new Date()
, kad sukurtumėte naują Date
objektą, kuriame būtų dabartinė data ir laikas.
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);
Taip gausite šiandienos datą mm/dd/yyyy formatu.
Tiesiog pakeiskite today = mm +'/'+ dd +'/'+ yyyy;
į bet kokį pageidaujamą formatą.
ATNAUJINTA!, slinkti žemyn
Jei norite kažko paprasto, gražaus galutiniam vartotojui... Taip pat ištaisyta nedidelė priesagos problema pirmojoje versijoje žemiau. Dabar tinkamai grąžinama priesaga.
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 UPDATE Po ilgo delsimo, aš pagaliau GitHubbed ir atnaujinau tai su galutiniu sprendimu, kurį naudojau sau. Jame netgi buvo atlikta keletas paskutinės minutės pakeitimų, kad jis būtų dar saldesnis! Jei ieškote senojo [jsFiddle, žr. šį][2].
Šis atnaujinimas yra 2 skonių, vis dar palyginti nedidelis, nors ir ne toks mažas, kaip mano aukščiau pateiktas, pirminis atsakymas. Jei norite itin mažo, rinkitės šį.
Taip pat atkreipkite dėmesį: šis vis dar yra mažiau išpūstas nei moment.js. Nors moment.js yra gražus, imo, jis turi per daug pasaulietinių metodų, dėl kurių reikia mokytis moment.js kaip kalbos. Mano čia naudojamas tas pats bendras formatas kaip ir PHP: data.
1 skonis [
new Date().format(String)
][3] Mano asmeninis favoritas. Žinau, kad tabu, bet puikiai veikia Date objekte. Tik turėkite omenyje bet kokius kitus modifikavimus, kuriuos galite turėti Date Object.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
2 skonis [
dateFormat(Date, String)
][4] Tradiciškesnis "viskas viename" metodas. Turi visas ankstesniojo galimybes, tačiau yra iškviečiamas per metodą su Date param.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
BONUSO skonis (reikia jQuery)
$.date(Date, String)
Čia yra daug daugiau nei tik paprastaformato
parinktis. Ji išplečia pagrindinį Date objektą ir apima tokius metodus kaipaddDays
. Daugiau informacijos rasite Git.
Šiame modelyje formato simboliai sukurti pagal PHP: date. Visą sąrašą rasite mano README.
Šiame modelyje taip pat yra daug ilgesnis iš anksto paruoštų formatų sąrašas. Norėdami naudoti iš anksto sukurtą formatą, tiesiog įveskite jo rakto pavadinimą. dateFormat(new Date(), 'pretty-a');
*Kaip pastebėjote, simboliui ištrinti galima naudoti dvigubą \
.
Išbandykite tai:
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
Rezultatas bus toks
15/2/2012