Normalement, si je voulais avoir la date, je pouvais faire quelque chose comme:
var d = new Date();
console.log(d);
Le problème avec cela, c'est que quand je lance ce code, il retourne:
Lundi 24 août 2015 16h20 GMT-0800 (heure normale du Pacifique)
Comment pourrais-je obtenir la méthode Date () pour renvoyer une valeur au format "MM-JJ-AAAA" afin qu'elle renvoie quelque chose comme:
24/08/2015
Ou peut-être MM-JJ-AAAA H: M
24/08/2016 4:20
Le code ci-dessous est une façon de le faire. Si vous avez une date, passez-la à la fonction convertDate()
et elle retournera une chaîne au format AAAA-MM-JJ:
var todaysDate = new Date();
function convertDate(date) {
var yyyy = date.getFullYear().toString();
var mm = (date.getMonth()+1).toString();
var dd = date.getDate().toString();
var mmChars = mm.split('');
var ddChars = dd.split('');
return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]);
}
console.log(convertDate(todaysDate)); // Returns: 2015-08-25
Utilisez simplement la méthode .toISOString()
intégrée comme suit: toISOString().split('T')[0]
. Simple, propre et tout en une seule ligne.
var date = (new Date()).toISOString().split('T')[0];
document.getElementById('date').innerHTML = date;
<div id="date"></div>
Veuillez noter que le fuseau horaire de la chaîne formatée estUTCplutôt que l'heure locale.
Encore une autre manière:
var today = new Date().getFullYear()+'-'+("0"+(new Date().getMonth()+1)).slice(-2)+'-'+("0"+new Date().getDate()).slice(-2)
document.getElementById("today").innerHTML = today
<div id="today">
Ce que vous voulez réaliser peut être accompli avec JavaScript natif. L'objet Date
a des méthodes qui génèrent exactement le résultat souhaité.
Voici des exemples de code:
var d = new Date();
console.log(d);
>>> Sun Jan 28 2018 08:28:04 GMT+0000 (GMT)
console.log(d.toLocaleDateString());
>>> 1/28/2018
console.log(d.toLocaleString());
>>> 1/28/2018, 8:28:04 AM
Il n'est vraiment pas nécessaire de réinventer la roue.
function formatdate(userDate){
var omar= new Date(userDate);
y = omar.getFullYear().toString();
m = omar.getMonth().toString();
d = omar.getDate().toString();
omar=y+m+d;
return omar;
}
console.log(formatDate("12/31/2014"));
Voici une fonction simple que j'ai créée lorsque j'ai continué à travailler sur un projet où je devais constamment obtenir la date d'aujourd'hui, d'hier et de demain dans ce format.
function returnYYYYMMDD(numFromToday = 0){
let d = new Date();
d.setDate(d.getDate() + numFromToday);
const month = d.getMonth() < 9 ? '0' + (d.getMonth() + 1) : d.getMonth() + 1;
const day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
return `${d.getFullYear()}-${month}-${day}`;
}
console.log(returnYYYYMMDD(-1)); // returns yesterday
console.log(returnYYYYMMDD()); // returns today
console.log(returnYYYYMMDD(1)); // returns tomorrow
Peut-être facilement modifié pour lui donner une date, mais ici vous passez un numéro et il retournera autant de jours à compter d’aujourd’hui.
Si vous essayez d’obtenir la chaîne de date 'local-ISO'. Essayez le code ci-dessous.
function (date) {
return new Date(+date - date.getTimezoneOffset() * 60 * 1000).toISOString().split(/[TZ]/).slice(0, 2).join(' ');
}
+date
Obtenez des millisecondes à partir d'une date.
Réf: Date.prototype.getTimezoneOffset Amuse-toi bien :)