Comment puis-je obtenir la date actuelle en JavaScript?



Answers

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

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

Question

Comment obtenir la date actuelle en JavaScript?




Je ne sais pas si cela va aider quelqu'un, mais je l'utilise pour obtenir aujourd'hui l'objet Date.

new Date( 3600000*Math.floor(Date.now()/3600000) )



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>




Vous pouvez vérifier ceci

var today = new Date();
today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
document.write(today);

Et voyez la documentation pour le constructeur Date (). link







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 sur MDN .




Une solution JS d'une ligne:

tl; dr

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

bord, ff plus tard, & chrome retour todaysDate = "2/7/2017"
"fonctionne" * dans IE10 +

EDIT 2/7/2017

J'ai découvert que IE10 et IE Edge font les choses un peu différemment .. allez comprendre. avec une new Date(Date.now()).toLocaleString() en entrée,

IE10 retourne:

"Tuesday, February 07, 2017 2:58:25 PM"

Je pourrais écrire une grande fonction longue et FTFY. Mais vous devriez vraiment utiliser moment.js pour ce genre de choses. Mon script nettoie simplement ceci et vous donne la notation US traditionnelle étendue : > todaysDate = "March 06, 2017"

IE EDGE renvoie:

"‎2‎/‎7‎/‎2017‎ ‎2‎:‎59‎:‎27‎ ‎PM"

Bien sûr, ça ne pourrait pas être aussi simple. La chaîne de date d'Edge a des caractères «•» invisibles entre chaque caractère visible. Donc non seulement allons-nous maintenant vérifier si le premier caractère est un nombre, mais les 3 premiers caractères, car il se trouve qu'un seul caractère dans la plage de dates entière sera éventuellement un point ou une barre oblique à un moment donné. Donc, pour garder les choses simples, juste .slice() les trois premiers caractères (minuscule tampon contre les futures manigances) et ensuite vérifier les numéros. Il devrait probablement être noté que ces points invisibles pourraient potentiellement persister dans votre code. Je vais peut-être creuser dans ce cas si vous avez des plans plus ambitieux que d'imprimer cette chaîne à votre vue.

One one-liner mis à jour:

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

Ça craint de lire. Que diriez-vous:

var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];

RÉPONSE ORIGINALE

J'ai un one-liner pour vous:

new Date(Date.now()).toLocaleString().split(', ')[0];

et [1] vous donnera l'heure du jour.







new Date().toISOString().slice(0,10); 

travaillerait aussi




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

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

document.write(today);




Si vous voulez un format DD/MM/YYYY simple, je viens de trouver cette solution simple, bien qu'elle ne préfixe pas les zéros manquants.

var d = new Date();
document.write( [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/') );




Vous pouvez utiliser ceci

<script>
function my_curr_date() {      
    var currentDate = new Date()
    var day = currentDate.getDate();
    var month = currentDate.getMonth() + 1;
    var year = currentDate.getFullYear();
    var my_date = month+"-"+day+"-"+year;
    document.getElementById("dateField").value=my_date;    
}
</script>

Le HTML est

<body onload='return my_curr_date();'>
    <input type='text' name='dateField' id='dateField' value='' />
</body>



Vous pouvez utiliser la bibliothèque Date.js qui étend l'objet Date, vous pouvez donc avoir la méthode .today ().




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/




Je pense que c'est une vieille question mais la façon la plus simple serait la suivante:

var date = new Date();
var TimeStamp = date.toLocaleString();

function CurrentTime(){
  alert(TimeStamp);
}

Cela saisira l'heure actuelle, passera à une chaîne basée sur l'emplacement et vous pouvez ensuite appeler la fonction CurrentTime pour afficher l'heure. Ce serait, pour moi, le moyen le plus efficace d'obtenir un horodatage pour quelque chose.




Related