Question Comment puis-je obtenir la date actuelle en JavaScript?


Comment obtenir la date actuelle en JavaScript?


1681
2017-10-07 11:39


origine


Réponses:


Utilisation new Date() pour générer une nouvelle Date objet contenant la date et l'heure actuelles.

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
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Cela vous donnera la date d'aujourd'hui dans le format de mm / jj / aaaa.

Changez simplement today = mm +'/'+ dd +'/'+ yyyy; à n'importe quel format que vous souhaitez.


2003
2018-02-08 04:42



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

Utilisez le replace option si vous allez réutiliser le utc variable, comme new Date(utc), comme Firefox et Safari ne reconnaissent pas une date avec des tirets.


340
2017-09-29 14:13



ACTUALISÉ!, Défiler vers le bas

Si vous voulez quelque chose de simple à 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>

UBBER MISE À JOUR Après beaucoup de procrastination, j'ai enfin GitHubbed et mis à jour ceci avec la solution finale que j'ai utilisée pour moi-même. Il a même eu quelques modifications de dernière minute pour le rendre plus doux! Si vous cherchez l'ancien jsFiddle, s'il vous plaît voir ceci.

Cette mise à jour est disponible 2 saveurs, encore relativement petit, mais pas aussi petit que mon ci-dessus, réponse originale. Si vous voulez extrêmement petit, allez-y.
 Remarque: Ceci est encore moins gonflé que le moment.js. Alors que moment.js est sympa, imo, il a beaucoup de méthodes laïques, qui demandent un moment d'apprentissage comme s'il s'agissait d'une langue. La mienne ici utilise le même format commun que PHP: date.

Liens rapides

Saveur 1 new Date().format(String)   Mon personnel Fav. Je connais le tabou, mais fonctionne très bien sur l'objet Date. Juste être au courant de tous les autres mods que vous pourriez avoir à l'objet Date.

//  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. A toute la capacité de la précédente, mais est appelée via la méthode avec Date param.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Saveur (nécessite jQuery) $.date(Date, String)   Cela contient beaucoup 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, s'il vous plaît voir le Git.

Dans ce mod, les caractères de format sont inspirés par PHP: date. Pour une liste complète, s'il vous plaît voir mon README

Ce mod a aussi une liste beaucoup plus longue de formats pré-faits. Pour utiliser un format prédéfini, entrez simplement 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'
    • 'AMÉRICAIN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / j /'
    • 'AMERICANSHORTWTIME' == 'm / j / j h: i: sA'
    • 'ATOM' == 'Y-m-d \\ TH: i: sP'
    • 'COOKIE' == 'D-M-Y H: i: s T'
    • 'EUROPEEN' == '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' == 'D d M Y H: i: s O'
    • 'W3C' == 'Y-m-d \\ TH: i: sP'
  • 'joli'
    • 'joli-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'joli-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'joli-f' == 'g: iA'

Comme vous pouvez le remarquer, vous pouvez utiliser le double \ pour échapper à un personnage.



187
2018-02-10 14:33



Si vous voulez juste une date sans information de temps, utilisez:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);


115
2017-09-02 06:14



Essaye ç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 comme

15/2/2012

90
2018-02-15 08:48



Le plus court possible:

let today = new Date().toISOString().slice(0, 10)

Ça revient "2016-03-10"


61
2018-03-10 16:30



Si vous cherchez un contrôle plus granulaire sur les formats de date, je vous recommande vivement de vérifier les moments. Superbe bibliothèque - et seulement 5KB. http://momentjs.com/


57
2017-12-12 01:03



Vous pouvez utiliser 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>


45
2017-08-16 11:56



var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

Pour le décomposer en étapes:

  1. (new Date()).toString() donne "Ven Jun 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(' ') divise la chaîne ci-dessus sur chaque espace et retourne un tableau comme suit: ["Fri", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ]

  3. (new Date()).toString().split(' ').splice(1,3).join(' ') prend les deuxième, troisième et quatrième valeurs du tableau ci-dessus, les joint avec des espaces, et retourne une chaîne "Jun 28 2013"


41
2018-06-28 22:32



var date = new Date().toLocaleDateString("en-US");

En outre, vous pouvez appeler la méthode toLocaleDateString avec deux paramètres:

var date = new Date().toLocaleDateString("en-US", {
    "year": "numeric",
    "month": "numeric"
});

Article sur MSDN. Plus d'informations sur cette méthode MDN.


36
2017-07-09 07:01