J'ai une date avec le format Sun May 11,2014
. Comment puis-je le convertir en 2014-05-11
utilisant JavaScript?
function taskDate(dateMilli) {
var d = (new Date(dateMilli) + '').split(' ');
d[2] = d[2] + ',';
return [d[0], d[1], d[2], d[3]].join(' ');
}
var datemilli = Date.parse('Sun May 11,2014');
console.log(taskDate(datemilli));
Le code me donne au- dessus du même format de date, sun may 11,2014
. Comment puis-je réparer cela?
javascript
date
formatting
date-format
time-format
user3625547
la source
la source
Réponses:
Tu peux faire:
Exemple d'utilisation:
Production:
Démo sur JSFiddle: http://jsfiddle.net/abdulrauf6182012/2Frm3/
la source
'use strict';
@bhspencerTirez simplement parti de la
toISOString
méthode intégrée qui ramène votre date au format ISO 8601:Où yourDate est votre objet date.
Edit: un gars a écrit ceci pour gérer le fuseau horaire dans les commentaires:
la source
new Date(yourDateStr).toISOString().split('T')[0]
const offset = yourDate.getTimezoneOffset(); yourDate = new Date(yourDate.getTime() + (offset*60*1000)); yourDate.toISOString().split('T')[0]
cela devrait résoudre le problème de fuseau horairenow.toISOString().substring(0,10);
Ceci est une alternative plus propre, car elle vous rappelle que ceYYYY-MM-DD
sont les dix premiers caractères du format iso complet+ (offset
en a- (offset
)J'utilise cette méthode pour obtenir la date au format aaaa-mm-jj :)
la source
var todayDate = new Date(2018, 3 - 1, 26); todayDate.toISOString().slice(0, 10);
me donne"2018-03-25"
. Sur un autre systèmevar todayDate = new Date(2018, 3 - 1, 26, 17, 0, 0); todayDate.toISOString().slice(0, 10);
me donne"2018-03-27"
.La façon la plus simple de convertir votre date au format aaaa-mm-jj est de procéder comme suit:
Comment ça fonctionne:
new Date("Sun May 11,2014")
convertit la chaîne"Sun May 11,2014"
en un objet date qui représente l'heureSun May 11 2014 00:00:00
dans un fuseau horaire en fonction des paramètres régionaux actuels (paramètres du système hôte)new Date(date.getTime() - (date.getTimezoneOffset() * 60000 ))
convertit votre date en un objet date qui correspond à l'heureSun May 11 2014 00:00:00
en UTC (heure standard) en soustrayant le décalage de fuseau horaire.toISOString()
convertit l'objet date en une chaîne ISO 86012014-05-11T00:00:00.000Z
.split("T")
divise la chaîne en tableau["2014-05-11", "00:00:00.000Z"]
[0]
prend le premier élément de ce tableauDémo
la source
- (date.getTimezoneOffset() * 60000 )
bit doit éliminer toutes les différences de fuseau horaire, y compris l'impact de l'heure d'été.Résultat:
la source
eval
.return ((v.length > 1 ? "0" : "") + z[v.slice(-1)]).slice(-2);
Une combinaison de certaines des réponses:
la source
toISOString()
les pièges potentiels du fuseau horaire avec l'utilisation de cette fonction.Si vous n'avez rien contre l'utilisation de bibliothèques, vous pouvez simplement utiliser la bibliothèque Moments.js comme ceci:
la source
Utilisez simplement ceci:
Simple et doux;)
la source
toISOString()
suppose que votre date est l'heure locale et la convertit en UTC. Vous obtiendrez une chaîne de date incorrecte.La méthode suivante doit renvoyer ce dont vous avez besoin.
Source: https://blog.justin.kelly.org.au/simple-javascript-function-to-format-the-date-as-yyyy-mm-dd/
la source
Récupérez l'année, le mois et le jour, puis regroupez-les. Droit, simple et précis.
la source
Vous pouvez utiliser
toLocaleDateString('fr-CA')
sur l'Date
objetJ'ai également découvert que ces paramètres régionaux donnent le bon résultat à partir de cette liste de paramètres régionaux. Liste de tous les paramètres régionaux et de leurs codes abrégés?
Afficher l'extrait de code
la source
Pour considérer également le fuseau horaire, ce one-liner devrait être bon sans aucune bibliothèque:
la source
Vous pouvez essayer ceci: https://www.npmjs.com/package/timesolver
Utilisez-le dans votre code:
Vous pouvez obtenir la chaîne de date en utilisant cette méthode:
la source
Aucune de ces réponses ne m'a vraiment satisfait. Je voulais une solution multiplateforme qui me donnait le jour dans le fuseau horaire local sans utiliser de bibliothèques externes.
Voici ce que j'ai trouvé:
Cela devrait renvoyer le jour de la date, au format AAAA-MM-JJ, dans le fuseau horaire les références de date.
Ainsi, par exemple,
localDay(new Date("2017-08-24T03:29:22.099Z"))
reviendra"2017-08-23"
même si c'est déjà le 24 à UTC.Vous aurez besoin de polyfill Date.prototype.toISOString pour qu'il fonctionne dans Internet Explorer 8, mais il doit être pris en charge partout ailleurs.
la source
Date.js est idéal pour cela.
la source
Je suggère d'utiliser quelque chose comme formatDate-js au lieu d'essayer de le répliquer à chaque fois. Utilisez simplement une bibliothèque qui prend en charge toutes les principales actions strftime.
la source
ou
Essaye ça!
la source
Voici une façon de procéder:
la source
la source
la source
la source
Certaines des réponses précédentes étaient correctes, mais elles n'étaient pas très flexibles. Je voulais quelque chose qui pourrait vraiment gérer plus de cas marginaux, alors j'ai pris la réponse de @orangleliu et je l'ai développée. https://jsfiddle.net/8904cmLd/1/
Exemple d'utilisation:
la source
Cela a fonctionné pour moi pour obtenir la date actuelle dans le format souhaité (AAAAMMJJ HH: MM: SS):
la source
Aucune bibliothèque n'est nécessaire
Juste du JavaScript pur.
L'exemple ci-dessous reprend les deux derniers mois à partir d'aujourd'hui:
la source
Format de date compatible PHP
Voici une petite fonction qui peut prendre les mêmes paramètres que la fonction PHP
date()
et retourner une chaîne date / heure en JavaScript.Notez que toutes les options de format date () de PHP ne sont pas prises en charge. Vous pouvez étendre l'
parts
objet pour créer le jeton de format manquantEssentiel
Voici un résumé avec une version mise à jour de la
formatDate()
fonction et des exemples supplémentaires: https://gist.github.com/stracker-phil/c7b68ea0b1d5bbb97af0a6a3dc66e0d9la source
Encore une autre combinaison des réponses. Bien lisible, mais un peu longue.
la source
Si la date doit être la même dans tous les fuseaux horaires, par exemple, représente une certaine valeur de la base de données, assurez-vous d'utiliser les versions UTC du jour, du mois et des fonctions complètes sur l'objet de date JavaScript car cela s'affichera en heure UTC et évitez les erreurs ponctuelles dans certains fuseaux horaires.
Encore mieux, utilisez la bibliothèque de dates Moment.js pour ce type de mise en forme.
la source
J'ai modifié la réponse de Samit Satpute comme suit:
la source
Format et recherche de date maximale et minimale à partir des données de la table de hachage:
la source
Le reformatage d'une chaîne de date est assez simple, par exemple
la source