Comment puis-je obtenir une date au format aaaa-mm-jj à partir d'une date ISO 8601 ?
Ma date 8601 est
2013-03-10T02:00:00Z
Comment puis-je obtenir ce qui suit?
2013-03-10
javascript
date
neeraj
la source
la source
date.split("T")[0]
would doRéponses:
Essaye ça
Mettre à jour:-
Comme indiqué dans les commentaires, je mets à jour la réponse pour imprimer les zéros non significatifs pour la date et le mois si nécessaire.
la source
Recadrez simplement la chaîne:
Ou si vous n'avez besoin que d'une date hors chaîne.
la source
YYYYY-MM-DD
dans l'année 10000. Pour éviter cela, vous pourriez diviser sur leT
caractère à la place. (Voir en.wikipedia.org/wiki/Year_10,000_problem )Vous pouvez consulter Moment.js , Luxon , date-fns ou Day.js pour une manipulation de date agréable.
Ou extrayez simplement la première partie de votre chaîne ISO, elle contient déjà ce que vous voulez. Voici un exemple en fractionnant sur le
T
:la source
Moment.js gérera le formatage de la date pour vous. Voici comment l'inclure via une balise JavaScript, puis un exemple d'utilisation de Moment.js pour formater une date.
la source
moment
est une bibliothèque assez énorme à utiliser uniquement pour le formatage. Utilisez plutôt des dates-fns qui sont beaucoup plus petites et donnent les mêmes fonctionnalités..toISODateString()
, parce que c'est un cas très fréquent ...C'est ce que je fais pour obtenir une date uniquement:
la source
Moment.js est une bibliothèque assez volumineuse à utiliser pour un seul cas d'utilisation. Je recommande d'utiliser à la
date-fns
place. Il offre essentiellement la plupart des fonctionnalités de Moment.js avec une taille de paquet beaucoup plus petite et beaucoupformatting options
.Une chose à noter est que, comme il s'agit du format d'heure ISO 8601 , le navigateur convertit généralement l'heure UTC en fuseau horaire local. Bien que ce soit un cas d'utilisation simple où vous pouvez probablement le faire
'2013-03-10T02:00:00Z'.substring(0, 10);
.Pour des conversions plus complexes,
date-fns
c'est la voie à suivre.la source
la source
Utilisation:
la source
Cela affichera la date au format AAAA-MM-JJ:
la source
Passez votre date dans l'objet date:
la source
À tous ceux qui utilisent des tentatives de fractionnement, de tranche et d'autres chaînes pour obtenir la date, vous pouvez vous préparer à des échecs liés au fuseau horaire!
Une chaîne ISO a Zulu-Timezone et une date en fonction de ce fuseau horaire, ce qui signifie qu'elle peut utiliser une date un jour avant ou après le fuseau horaire réel, que vous devez prendre en compte dans votre chaîne de transformation.
Voir cet exemple:
la source
Si vous avez un objet date:
ou
la source
Pour étendre la solution de rk rk : Si vous souhaitez que le format inclue l'heure, vous pouvez ajouter le
toTimeString()
à votre chaîne, puis supprimer la partie GMT, comme suit:la source
J'ai utilisé ceci:
Source: http://gooplus.fr/en/2017/07/13/angular2-typescript-isodate-to-html-date/
la source
la source
la source
Une meilleure version de réponse de @Hozefa .
Si vous avez
date-fns
installé, vous pouvez utiliser la fonction formatISOla source
Utilisez le code ci-dessous. Cela vous est utile.
la source