MISE À JOUR ! , Faites défiler vers le bas
Si vous voulez quelque chose de simple et de joli pour l'utilisateur final... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
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>
MISE À JOUR DE L'UBBER Après beaucoup d'atermoiements, j'ai finalement GitHubbed et j'ai mis à jour ce document avec la solution finale que j'ai utilisée pour moi-même. Il y a même eu quelques modifications de dernière minute pour le rendre plus agréable ! Si vous cherchez l'ancienne version jsFiddle, veuillez voir ceci .
Cette mise à jour intervient dans 2 saveurs, toujours relativement petites, mais pas aussi petites que ma réponse originale ci-dessus. Si vous voulez un produit extrêmement petit, choisissez-le.
A noter également : c'est toujours moins gonflé que moment.js. Alors que moment.js est sympa, imo, il a trop de méthodes séculaires, qui nécessitent d'apprendre moment comme si c'était un langage. Le mien ici utilise le même format commun que PHP : date .
Liens rapides
Saveur 1 new Date().format(String)
Mon favori personnel. Je sais que c'est tabou, mais cela fonctionne très bien avec le Date Object. Il faut juste être conscient de tous les autres mods que vous pouvez avoir sur le Date Object.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Saveur 2 dateFormat(Date, String)
Méthode plus traditionnelle tout-en-un. Possède toutes les capacités de la précédente, mais est appelée via la méthode avec le paramètre Date.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
Saveur BONUS (nécessite jQuery) $.date(Date, String)
Il contient bien plus qu'un simple format
option. Il étend l'objet Date de base et inclut des méthodes telles que addDays
. Pour plus d'informations, veuillez consulter le Git .
Dans ce mod, les personnages du format sont inspirés de PHP : date . Pour une liste complète, veuillez consulter mon README
Ce mod dispose également d'une liste beaucoup plus longue de formats préétablis. Pour utiliser un format préétabli, il suffit de saisir son nom de clé. dateFormat(new Date(), 'pretty-a');
- composé
- commonLogFormat' == 'd/M/Y:G:i:s'.
- exif' == 'Y:m:d G:i:s'.
- isoYearWeek' == 'Y \\WW '
- isoYearWeek2' == 'Y- \\WW '
- isoYearWeekDay' == 'Y \\WWj '
- isoYearWeekDay2' == 'Y- \\WW -j'
- mySQL' == 'Y-m-d h:i:s'.
- postgreSQL " = " Y.z ".
- postgreSQL2 " = " Yz ".
- soap' == 'Y-m-d \\TH :i:s.u'
- soap2 == 'Y-m-d \\TH :i:s.uP'
- unixTimestamp' == '@U'.
- xmlrpc' == 'Ymd \\TG :i:s'
- xmlrpcCompact' == 'Ymd \\tGis '
- wddx' == 'Y-n-j \\TG :i:s'
- constantes
- AMERICAN " = " F j Y ".
- AMERICANSHORT' == 'm/d/Y
- AMERICANSHORTWTIME' == 'm/d/Y h:i:sA'.
- ATOM' == 'Y-m-d \\TH :i:sP'
- COOKIE" == "l d-M-Y H:i:s T".
- EUROPÉENNE' == 'j F Y'.
- 'EUROPEANSHORT' == 'd.m.Y.'.
- EUROPEANSHORTWTIME' == 'd.m.Y H:i:s'.
- ISO8601' == 'Y-m-d \\TH :i:sO'
- 'LEGAL' == 'j F Y'.
- RFC822' == 'D d M y H:i:s O'.
- RFC850' == "l d-M-y H:i:s T
- 'RFC1036' == 'D d M y H:i:s O'
- RFC1123' == 'D d M Y H:i:s O'.
- RFC2822' == 'D d M Y H:i:s O'.
- RFC3339' == 'Y-m-d \\TH :i:sP'
- RSS' == 'J J M Y H:i:s O
- W3C' == 'Y-m-d \\TH :i:sP'
- "joli
- pretty-a' == 'g:i.sA l jS \\o\\f F Y'
- pretty-b' == 'g:iA l jS \\o\\f F Y'
- pretty-c == 'n/d/Y g:iA
- joli-d' == 'n/d/Y'.
- Pretty-e' == 'F jS - g:ia'.
- pretty-f == 'g:iA
Comme vous pouvez le remarquer, vous pouvez utiliser le double \
pour échapper à un caractère.
423 votes
var currentTime = new Date();
12 votes
Voir le documentation pour l'objet Date . Il comporte des exemples.
5 votes
Ceci vous aiderait tizag.com/javascriptT/javascriptdate.php
28 votes
new Date()
renvoie l'adresse actuelle temps et non le courant date . La distinction est importante si vous essayez de la comparer à une autre date qui n'a pas de composante temporelle (c'est-à-dire qui est à minuit).15 votes
Utiliser momentJs, cette librairie est de l'or pour les développeurs.
4 votes
@SteveBennett En fait, il renvoie la date du jour. y temps. JavaScript ne dispose pas d'objets distincts pour représenter une valeur de date uniquement ou une valeur d'heure uniquement. Il ne dispose que de
Date
qui intègre les deux. Ainsi, même si la question n'est pas tout à fait claire, la réponse attendue est d'obtenir la date et l'heure actuelles du système, ce qui est exactement ce qu'il faut faire.new Date()
retours, donc +1 à @Hendrik pour la réponse la plus concise.0 votes
Voir cet article : stackoverflow.com/a/30245911/1579667
0 votes
Je suis surpris de ne pas voir de commentaire sur l'excellente bibliothèque date-fns. Modulaire (il suffit d'importer ce dont on a besoin), traite les dates comme immuables, fonctionne avec les objets Date natifs, plus rapide que Moment.
2 votes
Votre question est très large ! Voulez-vous une chaîne de caractères (facile) ou un objet date (pièges) ? Voulez-vous la date actuelle là où vous êtes, ou à Londres, ou ailleurs ? ATTENTION AU FUSEAU HORAIRE
0 votes
New Date() est toujours valide et la meilleure réponse mais après cela le besoin d'un format particulier se fait sentir et je suggérerais d'utiliser toLocaleDateString avec new Date par exemple.
new Date().toLocaleDateString('en-GB', {year: "numeric", month: "2-digit", day: "2-digit"})
ce qui, à la fin, vous donne une date courante formatée dans ce format 08/06/2021.