2628 votes

Comment obtenir la date du jour en JavaScript ?

Comment obtenir la date du jour en JavaScript ?

423 votes

var currentTime = new Date();

12 votes

Voir le documentation pour l'objet Date . Il comporte des exemples.

5 votes

3101voto

Samuel Meddows Points 6554

Utilisez new Date() pour générer un nouveau Date contenant la date et l'heure actuelles.

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

Vous obtiendrez ainsi la date du jour au format mm/jj/aaaa.

Changez simplement today = mm +'/'+ dd +'/'+ yyyy; au format que vous souhaitez.

7 votes

Merci pour le code... mais ce que je ne comprends toujours pas, c'est la ligne if(dd<10){dd='0'+dd} ... pourquoi < 10 ? d'après ce que j'ai compris du code, si le caractère du jour est inférieur à 2, il suffit d'ajouter un 0 précédent devant le jour... mais pourquoi 10 ?

22 votes

@imin : parce que moins de 2 caractères signifie 1 caractère... et tout ce qui est inférieur à 10 (1 à 9) est 1 caractère, donc nous aurons 01 , 02 , ..., 09

11 votes

@MounaCheikhna - Comment pouvons-nous être en l'an 999 ?

485voto

Varun Natraaj Points 373
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Utilisez le replace si vous comptez réutiliser l'option utc variable, telle que new Date(utc) car Firefox et Safari ne reconnaissent pas une date avec des tirets.

6 votes

Je ne pense pas :) Cela semble assez simple !

6 votes

ToJSON() renvoie un temps de date utc

1 votes

Il renvoie une date JSON. toUTCString() renvoie un temps de date utc.

255voto

SpYk3HH Points 10533

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.


15 votes

@KamranAhmed Presque 2 ans et 40+ votes plus tard, je dirais que l'effort en valait la peine. LoL. J'ai depuis élargi cette classe beaucoup personnellement, mais je n'ai pas téléchargé car je pensais que la plupart des gens utiliseraient cet autre plugin de date js que je vois recommandé, mais je suppose que je devrais le rendre plus "public" et l'ajouter ici.

16 votes

Moment.js est maintenant la chose que vous utiliseriez de nos jours

1 votes

Ci-dessus, il y a une erreur de frappe (que j'ai mis du temps à repérer), il utilise une variable "today" dans la ligne : " dayOfMonth = today + "

110voto

Jimmy M Points 463

Essayez ça :

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

Le résultat sera le suivant

15/2/2012

67voto

benjamin.keen Points 481

Si vous recherchez un contrôle beaucoup plus granulaire des formats de date, je vous recommande vivement de consulter momentjs. Une bibliothèque formidable - et seulement 5KB. http://momentjs.com/

7 votes

La localisation est parfaitement prise en charge.

0 votes

Aujourd'hui, nous utilisons les date-fns - ils traitent les dates comme immuables (Moment mute les dates), sont plus rapides et modulaires (importez juste ce dont vous avez besoin).

2 votes

Six ans après avoir posté ce momentjs a pris pas mal de poids. Vous voudrez peut-être jeter un coup d'oeil à github.com/iamkun/dayjs à la place - on me l'a décrit comme "momentjs au régime". Même API simple.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X