Comment obtenir la date actuelle en JavaScript?
javascript
date
date-formatting
Suresh Chaganti
la source
la source
var currentTime = new Date();
new Date()
renvoie l' heure actuelle , pas la date actuelle . La distinction est importante si vous essayez de la comparer à une autre date qui n'a pas de composante horaire (c'est-à-dire à minuit).Réponses:
Permet
new Date()
de générer un nouvelDate
objet contenant la date et l'heure actuelles.Cela vous donnera la date d'aujourd'hui au format mm / jj / aaaa.
Modifiez simplement le
today = mm +'/'+ dd +'/'+ yyyy;
format que vous souhaitez.la source
01
,02
...,09
Date.prototype.toLocaleDateString()
méthode est une solution plus flexible. Il fait partie de JavaScript depuis ECMAScript 5.1 et est bien pris en charge par les navigateurs à feuilles persistantes. MDN:toLocaleDateString()
Utilisez l'
replace
option si vous comptez réutiliser lautc
variablenew Date(utc)
, comme Firefox et Safari ne reconnaissent pas une date avec des tirets.la source
toUTCString()
renvoie comme utc datetime.moment( new Date().toJSON().slice(0, 10) )
Si vous voulez quelque chose de simple et joli pour l'utilisateur final ...
Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
Cette mise à jour se décline en
2versions, toujours relativement petites, mais pas aussi petites que ma réponse originale. Si vous voulez extrêmement petit, allez-y.Remarquez également: c'est encore moins gonflé que moment.js. Bien que moment.js soit sympa, imo, il a trop de méthodes profanes, qui nécessitent d'apprendre moment comme s'il s'agissait d'une langue. Le mien utilise ici le même format commun que PHP: date .
Liens rapides
Dans ce mod, les caractères de format sont inspirés de PHP: date . Pour une liste complète, veuillez consulter mon README
Ce mod a également une liste beaucoup plus longue de formats prédéfinis. Pour utiliser un format prédéfini, entrez simplement son nom de clé.
dateFormat(new Date(), 'pretty-a');
Comme vous pouvez le remarquer, vous pouvez utiliser le double
\
pour échapper à un personnage.la source
Le plus court possible.
Pour obtenir un format comme "2018-08-03":
Pour obtenir un format comme "03/08/2018":
Vous pouvez également passer les paramètres régionaux comme argument, par exemple
toLocaleDateString("sr")
, etc.la source
Si vous voulez juste une date sans informations d'heure, utilisez:
la source
Essaye ça:
Le résultat sera comme
la source
Si vous recherchez un contrôle beaucoup plus précis sur les formats de date, je vous recommande vivement de vérifier momentjs. Bibliothèque formidable - et seulement 5 Ko. http://momentjs.com/
la source
Vous pouvez utiliser moment.js: http://momentjs.com/
la source
moment().format("L")
pour respecter les paramètres régionaux actuels.Pour le décomposer en étapes:
(new Date()).toString()
donne "Ven 28 juin 2013 15:30:18 GMT-0700 (PDT)"(new Date()).toString().split(' ')
divise la chaîne ci-dessus sur chaque espace et renvoie un tableau comme suit: ["Ven", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ](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 renvoie une chaîne "28 juin 2013"la source
Date().split(' ').splice(1,3).join(' ')
Cela fonctionne à chaque fois:
la source
Vous pouvez également appeler la méthode
toLocaleDateString
avec deux paramètres:Article sur MSDN . En savoir plus sur cette méthode sur MDN .
la source
new Date().toLocaleDateString("de-de")
fait l'affaire pour moi.Version plus propre et plus simple:
Le résultat varie en fonction des paramètres régionaux de l'utilisateur :
la source
Si vous êtes satisfait du format AAAA-MM-JJ, cela fera également l'affaire.
new Date().toISOString().split('T')[0]
2018-03-10
la source
Vous pouvez utiliser la bibliothèque Date.js qui étend l'objet Date, vous pouvez donc avoir la méthode .today ().
la source
Vous pouvez obtenir la date actuelle appelez la méthode statique maintenant comme ceci:
référence:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
la source
var dtToday = new Date(date.now);
La réponse de Varun ne tient pas compte de TimezoneOffset . Voici une version qui fait:
Le
TimezoneOffset
est minutes, tandis que le constructeur Date prend des millisecondes, donc la multiplication par60000
.la source
La réponse la plus courte est:
new Date().toJSON().slice(0,10)
la source
Résultat:
la source
Comme
toISOString()
ne renverra que l'heure UTC actuelle, pas l'heure locale. Nous devons faire une date en utilisant la fonction '.toString ()' pour obtenir la date auyyyy-MM-dd
format commePour mettre la date et l'heure au
yyyy-MM-ddTHH:mm:ss
formatPour mettre la date et l'heure au
yyyy-MM-dd HH:mm:ss
formatla source
Si vous voulez un
DD/MM/YYYY
format simple , je viens de trouver cette solution simple, bien qu'elle ne préfixe pas les zéros manquants.la source
fonctionnerait aussi
la source
DERNIÈRE MODIFICATION: 23/08/19 La bibliothèque date-fns fonctionne un peu comme moment.js mais a une ENCORE plus petite empreinte. Il vous permet de choisir les fonctions que vous souhaitez inclure dans votre projet afin que vous n'ayez pas à compiler la bibliothèque entière pour formater la date d'aujourd'hui. Si une bibliothèque tierce minimale n'est pas une option pour votre projet, j'approuve la solution acceptée par Samuel Meddows.
Préserver l'histoire ci-dessous car cela a aidé quelques personnes. Mais pour mémoire, c'est assez hacky et susceptible de se casser sans avertissement, comme le sont la plupart des solutions de ce post
EDIT 2/7/2017 Une solution JS en ligne:
Explication
J'ai découvert qu'IE10 et IE Edge font les choses un peu différemment. avec
new Date(Date.now()).toLocaleString()
comme entrée,IE10 renvoie:
Je pourrais écrire une grande fonction longue et FTFY. Mais vous devez vraiment utiliser moment.js pour ce genre de choses. Mon script nettoie simplement cela et vous donne la notation américaine traditionnelle étendue :
> todaysDate = "March 06, 2017"
IE EDGE renvoie:
Bien sûr, cela ne pouvait pas être aussi simple. La chaîne de date d'Edge contient des caractères «•» invisibles entre chacun d'eux. Donc, non seulement nous allons maintenant vérifier si le premier caractère est un nombre, mais les 3 premiers caractères, car il se trouve que tout caractère unique dans la plage de dates entière finira par être un point ou une barre oblique à un moment donné. Donc, pour garder les choses simples, juste .slice () les trois premiers caractères (petit tampon contre les futurs manigances), puis de vérifier les nombres. Il convient probablement de noter que ces points invisibles pourraient potentiellement persister dans votre code. Je creuserais peut-être si vous avez de plus gros plans que d'imprimer cette chaîne à votre vue.
∴ one-liner mis à jour:
Ça craint de lire. Que diriez-vous:
RÉPONSE ORIGINALE
J'ai une doublure pour vous:
et
[1]
vous donnera l'heure de la journée.la source
Vous pouvez utiliser ceci
Le HTML est
la source
Si vous utilisez jQuery. Essayez cette doublure:
Voici la convention de mise en forme de la date
Voici la référence pour jQuery datepicker
la source
Un moyen simple de retirer cela (tout en considérant votre fuseau horaire actuel, il profite du format ISO aaaa-mm-jj) est:
Habituellement, c'est un format de date compatible assez polyvalent et vous pouvez le convertir en valeur de date pure si nécessaire:
la source
Vous pouvez commander ceci
Et consultez la documentation du constructeur Date (). lien
la source
Quel est le gros problème avec cela .. La façon la plus propre de le faire est
var currentDate=new Date().toLocaleString().slice(0,10);
la source
3/4/2018,
, mieux à utilisernew Date().toJSON().slice(0,10)
..slice(0,10)
Cela peut vous aider
Cela imprimera la date actuelle au format jj / mm / aaaa
la source
C'est bien pour obtenir une date formatée
la source
Je pense que c'est une vieille question mais la manière la plus simple serait la suivante:
Cela saisira l'heure actuelle, la passera à une chaîne basée sur l'emplacement, puis vous pourrez appeler la fonction CurrentTime pour afficher l'heure. Ce serait, pour moi, le moyen le plus efficace d'obtenir un horodatage pour quelque chose.
la source