Je stocke du temps dans une base de données MySQL en tant qu'horodatage Unix et qui est envoyé à du code JavaScript. Comment pourrais-je obtenir juste du temps?
Par exemple, au format HH / MM / SS.
javascript
date
time
date-format
time-format
roflwaffle
la source
la source
Réponses:
Pour plus d'informations sur l'objet Date, reportez-vous à MDN ou à la spécification ECMAScript 5 .
la source
la source
var min = a.getMinutes() < 10 ? '0' + a.getMinutes() : a.getMinutes(); var sec = a.getSeconds() < 10 ? '0' + a.getSeconds() : a.getSeconds();
getMonth()
renvoie un numéro de mois entre 0 et 11, donca.getMonth() - 1
c'est faux.JavaScript fonctionne en millisecondes, vous devrez donc d'abord convertir l'horodatage UNIX de quelques secondes en millisecondes.
la source
Je suis amateur de la
Date.format()
bibliothèque de Jacob Wright , qui implémente le formatage de date JavaScript dans le style de ladate()
fonction PHP .la source
format is not a function
. Mais cela fonctionne apparemment: stackoverflow.com/a/34015511/7550772Utilisation:
et pour le temps:
voir Date.prototype.toLocaleDateString ()
la source
toLocaleString
comprend à la fois la date et l'heure.Voici la solution one-liner la plus courte pour formater les secondes en
hh:mm:ss
:NB: Cette solution ne nécessite aucune bibliothèque tierce et est prise en charge dans tous les navigateurs modernes et moteurs JavaScript.
la source
toTimeString
ne fonctionnait pas bien avec les fuseaux horaires. Malheureusement, votre modification a été rejetée avant que je ne la voie. Cependant, je suggère d'utiliser à latoISOString
place, car iltoGMTString
est obsolète et peut renvoyer des résultats différents sur différentes plates-formes.Je penserais à utiliser une bibliothèque comme momentjs.com , ce qui rend cela très simple:
Basé sur un horodatage Unix:
Basé sur une chaîne de date MySQL:
la source
console.log
exemples, j'étais confus au sujet du format en raison du/
, mais cela m'a beaucoup aidé.L'horodatage UNIX est le nombre de secondes depuis 00:00:00 UTC le 1er janvier 1970 (selon Wikipedia ).
L'argument de l'objet Date en Javascript est le nombre de millisecondes depuis 00:00:00 UTC le 1er janvier 1970 (selon la documentation Javascript de W3Schools ).
Voir le code ci-dessous par exemple:
donne:
la source
solution à une ligne la plus courte pour formater les secondes en hh: mm: ss: variante:
la source
En utilisant Moment.js , vous pouvez obtenir l'heure et la date comme ceci:
Et vous ne pouvez obtenir que du temps en utilisant ceci:
la source
Le problème avec les solutions susmentionnées est que si l'heure, la minute ou la seconde n'a qu'un seul chiffre (c'est-à-dire 0-9), l'heure serait erronée, par exemple, elle pourrait être 2: 3: 9, mais elle devrait plutôt être 02: 03:09.
Selon cette page, il semble être une meilleure solution pour utiliser la méthode "toLocaleTimeString" de Date.
la source
date.toLocaleTimeString()
toTimeString
méthode. Vérifiez ici: stackoverflow.com/a/35890537/1249581 .Une autre façon - à partir d'une date ISO 8601 .
la source
Au moment où vous devez utiliser l'horodatage unix:
la source
Basé sur la réponse de @ shomrat, voici un extrait qui écrit automatiquement datetime comme ceci (un peu similaire à la date de réponse de StackOverflow:)
answered Nov 6 '16 at 11:51
:ou
ou (si différent mais même année qu'aujourd'hui)
ou (si autre année qu'aujourd'hui)
la source
La solution moderne qui n'a pas besoin d'une bibliothèque de 40 Ko:
Intl.DateTimeFormat est la manière impérialiste non culturellement de formater une date / heure.
la source
Mon horodatage est récupéré depuis un backend PHP. J'ai essayé toutes les méthodes ci-dessus et cela n'a pas fonctionné. Je suis ensuite tombé sur un tutoriel qui a fonctionné:
les méthodes ci-dessus généreront ces résultats
Il existe un tas de méthodes qui fonctionnent parfaitement avec les horodatages. Je ne peux pas tous les énumérer
la source
la source
Faites attention au problème zéro avec certaines des réponses. Par exemple, l'horodatage
1439329773
serait converti par erreur en12/08/2015 0:49
.Je suggère d'utiliser les éléments suivants pour résoudre ce problème:
Résultat maintenant:
la source
la source
la source
Voir Convertisseur date / époque .
Vous devez
ParseInt
, sinon cela ne fonctionnerait pas:la source
Vous pouvez utiliser la fonction suivante pour convertir votre horodatage au
HH:MM:SS
format:Sans passer de séparateur, il utilise
:
comme séparateur (par défaut):Si vous souhaitez l'utiliser
/
comme séparateur, passez-le simplement comme deuxième paramètre:Démo
Voir aussi ce violon .
la source
la source
Si vous souhaitez convertir la durée Unix en heures, minutes et secondes réelles, vous pouvez utiliser le code suivant:
la source
la source
Le code ci-dessous fournit également des millisecs à 3 chiffres, idéal pour les préfixes de journal de console:
la source
moment.js
https://momentjs.com/
la source
day.js
github.com/iamkun/dayjsLa réponse donnée par @Aron fonctionne, mais cela n'a pas fonctionné pour moi car j'essayais de convertir l'horodatage à partir de 1980. J'ai donc apporté quelques modifications comme suit
Donc, si vous avez un horodatage à partir d'une autre décennie, utilisez-le. Cela m'a sauvé beaucoup de maux de tête.
la source