web-dev-qa-db-fra.com

Fonction pour convertir l'horodatage en date humaine en javascript

Comment convertir cet horodatage 1382086394000 en 2013-10-18 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'));}
55
Willy Mularto

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

var d = new Date(1382086394000);

Vous décidez comment convertir cela en quelque chose de lisible. Le simple envoi en sortie doit appeler le service interne (et entièrement dépendant de la mise en œuvre)  toString méthode * qui affiche généralement le temps système équivalent sous une forme lisible par l'homme, par ex.

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

Dans ES5, il existe d'autres options de formatage intégrées:

etc. 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 devez formater vous-même la date, par exemple:

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

* Le format de Date.prototype.toString a été normalisé en ECMAScript 2018 . Cela peut prendre un certain temps avant d'être omniprésent dans toutes les implémentations, mais au moins les navigateurs les prennent en charge maintenant.

95
RobG

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

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

pourquoi pas simplement

new Date (timestamp);

Une date est une date, sa mise en forme est une autre affaire.

17
Scary Wombat

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

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

va imprimer 18-10-2013 11:53:14;

Voici un plunker qui le démontre.

13
svarog

Voici les moyens simples de résoudre tous les problèmes de format de date:

pour la date actuelle:

var current_date=new Date();

pour obtenir l'horodatage de la date actuelle:

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

convertir une date particulière en horodatage:

var timestamp_formation=new Date('mm/dd/yyyy').getTime();

convertir l'horodatage en date:

    var timestamp=new Date('02/10/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
13
Trojan

nous devons créer une nouvelle fonction en utilisant JavaScript.

function unixTime(unixtime) {

    var u = new Date(unixtime*1000);

      return u.getUTCFullYear() +
        '-' + ('0' + u.getUTCMonth()).slice(-2) +
        '-' + ('0' + u.getUTCDate()).slice(-2) + 
        ' ' + ('0' + u.getUTCHours()).slice(-2) +
        ':' + ('0' + u.getUTCMinutes()).slice(-2) +
        ':' + ('0' + u.getUTCSeconds()).slice(-2) +
        '.' + (u.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) 
    };

console.log(unixTime(1370001284))

2016-04-30 08:36:26.000
8
KARTHIKEYAN.A

formatDate est la fonction que vous pouvez appeler et transmettre la date que vous souhaitez formater à dd/mm/yyyy

var unformatedDate = new Date("2017-08-10 18:30:00");
 
$("#hello").append(formatDate(unformatedDate));
function formatDate(nowDate) {
        return nowDate.getDate() +"/"+ (nowDate.getMonth() + 1) + '/'+ nowDate.getFullYear();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hello">


</div>
2
Black Mamba