121 votes

Fonction pour convertir un timestamp en date lisible pour l'homme en Javascript

Comment convertir ce timestamp 1382086394000 en 18-10-2013 08:53:14 en utilisant une fonction en javascript ? Actuellement, j'ai cette fonction :

function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}

167voto

RobG Points 41170

La valeur 1382086394000 est probablement une valeur de temps, qui est le nombre de millisecondes depuis 1970-01-01T00:00:00Z. Vous pouvez l'utiliser pour créer un objet Date ECMAScript en utilisant le constructeur Date:

var d = new Date(1382086394000);

Comment vous convertissez cela en quelque chose de lisible dépend de vous. Simplement l'envoyer en sortie devrait appeler la méthode interne (et entièrement dépendante de l'implémentation) toString qui imprime généralement l'équivalent de l'heure du système sous une forme lisible pour l'homme, par exemple :

Ven Oct 18 2013 18:53:14 GMT+1000 (EST) 

En ES5, il y a quelques autres options de formatage intégrées :

et ainsi de suite. Notez que la plupart dépendent de l'implémentation et seront différents dans différents navigateurs. Si vous voulez le même format sur tous les navigateurs, vous devrez formater la date vous-même, par exemple :

alert(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear());

* Le format de Date.prototype.toString a été standardisé dans ECMAScript 2018. Il pourrait s'écouler un certain temps avant qu'il ne soit omniprésent dans toutes les implémentations, mais au moins les navigateurs les plus courants le supportent maintenant.

47voto

Optimus Krish Points 509

Cela fonctionne bien. Vérifié dans le navigateur chrome :

var theDate = new Date(timeStamp_value * 1000);
dateString = theDate.toGMTString();
alert(dateString );

35voto

Scary Wombat Points 12031

Pourquoi ne pas simplement

new Date (timestamp);

Une date est une date, le formatage de celle-ci est une question différente.

28voto

svarog Points 197

Moment.js peut convertir des horodatages Unix dans n'importe quel format personnalisé

Dans ce cas : var time = moment(1382086394000).format("DD-MM-YYYY h:mm:ss");

affichera 18-10-2013 11:53:14;

Voici un plunker qui démontre cela.

16voto

Trojan Points 825

Voici les simples façons de dissiper toutes les confusions de format de date :

pour la date actuelle :

var current_date=new Date();

pour obtenir le Timestamp de la date actuelle :

var timestamp=new Date().getTime();

pour convertir une date particulière en Timestamp :

var timestamp_formation=new Date('mm/jj/aaaa').getTime();

pour convertir un timestamp en date :

    var timestamp=new Date('10/02/2016').getTime();
    var todate=new Date(timestamp).getDate();
    var tomonth=new Date(timestamp).getMonth()+1;
    var toyear=new Date(timestamp).getFullYear();
    var original_date=tomonth+'/'+todate+'/'+toyear;

  OUTPUT:
 02/10/2016

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X