web-dev-qa-db-fra.com

Comment obtenir l'année / mois / jour à partir d'un objet de date?

alert(dateObj) donne Wed Dec 30 2009 00:00:00 GMT+0800

Comment obtenir la date au format 2009/12/30?

206
user198729
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();

newdate = year + "/" + month + "/" + day;

ou vous pouvez définir une nouvelle date et donner les valeurs ci-dessus

346
Hiyasat
var dt = new Date();

dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();

Comme les index des mois sont basés sur 0, vous devez l’incrémenter de 1.

Modifier

Pour une liste complète des fonctions d'objet de date, voir

Date

getMonth()

Renvoie le mois (0-11) à la date spécifiée selon l'heure locale.

getUTCMonth()

Renvoie le mois (0-11) à la date spécifiée selon l'heure universelle.

93
rahul
new Date().toISOString()
"2016-02-18T23:59:48.039Z"
new Date().toISOString().split('T')[0];
"2016-02-18"
new Date().toISOString().replace('-', '/').split('T')[0].replace('-', '/');
"2016/02/18"

new Date().toLocaleString().split(',')[0]
"2/18/2016"
76
davidcondrey

Je vous suggère d'utiliser Moment.js http://momentjs.com/

Ensuite, vous pouvez faire:

moment(new Date()).format("YYYY/MM/DD");

Remarque: vous n'avez pas réellement besoin d'ajouter new Date() si vous voulez la TimeDate actuelle, je l'ai seulement ajoutée comme référence pour lui permettre de lui transmettre un objet de date. pour la date actuelle, cela fonctionne aussi:

moment().format("YYYY/MM/DD");
24
fmsf

Bon complément de mise en forme: http://blog.stevenlevithan.com/archives/date-time-format .

Avec ça tu pourrais écrire:

var now = new Date();
now.format("yyyy/mm/dd");
16
miku

info

Si un mois et une date à deux chiffres sont souhaités (2016/01/01 vs 2016/1/1)

code

var dateObj = new Date();
var month = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var date = ('0' + dateObj.getDate()).slice(-2);
var year = dateObj.getFullYear();
var shortDate = year + '/' + month + '/' + date;
alert(shortDate);

sortie

2016/10/06

violon

https://jsfiddle.net/Hastig/1xuu7z7h/

crédit

Plus d'infos de et crédit de cette réponse

plus

Pour en savoir plus sur .slice the essayez-le vous-même éditeur at w3schools m'a aidé à mieux comprendre comment l'utiliser.

14

Utilisez les méthodes get de date.

http://www.tizag.com/javascriptT/javascriptdate.php

http://www.htmlgoodies.com/beyond/javascript/article.php/3470841

var dateobj= new Date() ;
var month = dateobj.getMonth() + 1;
var day = dateobj.getDate() ;
var year = dateobj.getFullYear();
12
Aseem Gautam

FORMAT EUROPE (ANGLAIS/ESPAGNOL)
Si vous devez connaître le jour actuel, vous pouvez utiliser celui-ci.

function getFormattedDate(today) 
{
    var week = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
    var day  = week[today.getDay()];
    var dd   = today.getDate();
    var mm   = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    var hour = today.getHours();
    var minu = today.getMinutes();

    if(dd<10)  { dd='0'+dd } 
    if(mm<10)  { mm='0'+mm } 
    if(minu<10){ minu='0'+minu } 

    return day+' - '+dd+'/'+mm+'/'+yyyy+' '+hour+':'+minu;
}

var date = new Date();
var text = getFormattedDate(date);


* Pour le format espagnol, traduisez simplement la variable WEEK.

var week = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');


Sortie: lundi - 16/11/2015 14:24

9
Philip Enc

Avec la réponse acceptée, le 1er janvier serait affiché comme ceci: 2017/1/1.

Si vous préférez 2017/01/01, vous pouvez utiliser:

var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();
5
Basj

Vous pouvez simplement utiliser Ce code sur une ligne pour obtenir la date au format année-mois-date

var date = new Date().getFullYear() + "-" + new Date().getMonth() + 1 + "-" + new Date().getDate();
2
Muhammad Ahsan

Voici un moyen plus simple d’obtenir Année/Mois/Jour avec des modèles de littéraux:

var date = new Date();
var formattedDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()}`;
console.log(formattedDate);
0
ExillustX
var date = new Date().toLocaleDateString()
"5/19/2019"
0