Comment puis-je obtenir une date au format aaaa-mm-jj à partir d'une date iso?
Ma date ISO est
2013-03-10T02:00:00Z
Comment puis-je avoir:
2013-03-10
Essaye ça
date = new Date('2013-03-10T02:00:00Z');
date.getFullYear()+'-' + (date.getMonth()+1) + '-'+date.getDate();//prints expected format.
Mettre à jour:-
Comme indiqué dans les commentaires, je mets à jour la réponse afin d’imprimer les zéros à gauche pour la date et le mois si nécessaire.
date = new Date('2013-08-03T02:00:00Z');
year = date.getFullYear();
month = date.getMonth()+1;
dt = date.getDate();
if (dt < 10) {
dt = '0' + dt;
}
if (month < 10) {
month = '0' + month;
}
console.log(year+'-' + month + '-'+dt);
Il suffit de recadrer la chaîne:
var date = new Date("2013-03-10T02:00:00Z");
date.toISOString().substring(0, 10);
Ou si vous avez seulement besoin de sortir de la date.
var strDate = "2013-03-10T02:00:00Z";
strDate.substring(0, 10);
Moment se chargera du formatage de la date. Voici comment l'inclure via une balise javascript, puis un exemple d'utilisation du moment pour formater une date.
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
moment("2013-03-10T02:00:00Z").format("YYYY-MM-DD") //"2013-03-10"
moment
est une très grande bibliothèque à utiliser pour un cas d'utilisation unique. Recommandez d'utiliser date-fns
à la place. Il offre fondamentalement la plupart des fonctionnalités de moment
avec une taille de paquet beaucoup plus petite et plusieurs formatting options
.
import format from 'date-fns/format'
format('2013-03-10T02:00:00Z', 'YYYY-MM-DD'); //2013-03-10, YYYY-MM-dd for 2.x
Une chose à noter est que, puisque son navigateur de format d'heure ISO convertit généralement l'heure UTC au fuseau horaire local. Bien que ce soit simple cas où vous pouvez probablement faire '2013-03-10T02:00:00Z'.substring(0, 10);
.
Pour des conversions plus complexes, date-fns
est la voie à suivre.
Passez votre objet date dans la date.
var d = new Date('2013-03-10T02:00:00Z');
d.toLocaleDateString().replace(/\//g,'-');
Cela affichera la date au format AAAA-MM-JJ:
let date = new Date();
date = date.toISOString().slice(0,10);
C'est ce que je fais pour avoir un rendez-vous seul,
let isoDate = "2013-03-10T02:00:00Z";
alert(isoDate.split("T")[0]);
new Date (). toISOString (). substring (0, 10);
Si vous avez un objet de date:
let date = new Date()
let result = date.toISOString().split`T`[0]
console.log(result)
ou
let date = new Date()
let result = date.toISOString().slice(0, 10)
console.log(result)
var d = new Date("Wed Mar 25 2015 05:30:00 GMT+0530 (India Standard Time)");
alert(d.toLocaleDateString());
let isoDate = "2013-03-10T02:00:00Z";
var d=new Date(isoDate);
d.toLocaleDateString('en-GB');//dd/mm/yyyy
d.toLocaleDateString('en-US');//mm/dd/yyyy
pour étendre la solution @rk rk. Si vous souhaitez que le format comprenne l'heure, vous pouvez ajouter le toTimeString()
à votre chaîne, puis supprimer la partie GMT, comme suit:
var d = new Date('2013-03-10T02:00:00Z');
var fd = d.toLocaleDateString()+' '+d.toTimeString().substring(0, d.toTimeString().indexOf("GMT"));
let dt = new Date('2013-03-10T02:00:00Z');
let dd = dt.getDate();
let mm = dt.getMonth()+1;
let yyyy = dt.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
return yyyy+'-'+mm+'-'+ dd;
Cela peut être couvert par date-heure:
let now = date.format(new Date(), 'YYYY-MM-DD');
console.log(now);
<script src="https://cdn.jsdelivr.net/npm/date-and-time/date-and-time.min.js"></script>
J'ai utilisé ceci:
HTMLDatetoIsoDate(htmlDate){
let year = Number(htmlDate.toString().substring(0, 4))
let month = Number(htmlDate.toString().substring(5, 7))
let day = Number(htmlDate.toString().substring(8, 10))
return new Date(year, month - 1, day)
}
isoDateToHtmlDate(isoDate){
let date = new Date(isoDate);
let dtString = ''
let monthString = ''
if (date.getDate() < 10) {
dtString = '0' + date.getDate();
} else {
dtString = String(date.getDate())
}
if (date.getMonth()+1 < 10) {
monthString = '0' + Number(date.getMonth()+1);
} else {
monthString = String(date.getMonth()+1);
}
return date.getFullYear()+'-' + monthString + '-'+dtString
}
Source: http://gooplus.fr/17/2017 07/13/angular2-TypeScript-isodate-to-html-date/