19 votes

Javascript: obtenir le mois/l'année/le jour à partir du timestamp Unix

J'ai un timestamp unix, par exemple 1313564400000.00. Comment le convertir en objet Date et obtenir le mois/l'année/le jour correspondant ? Le code suivant ne fonctionnera pas :

function getdhm(timestamp) {
        var date = new Date(timestamp);
        var month = date.getMonth() + 1;
        var day = date.getDate();
        var year = date.getFullYear();

        var formattedTime = day + '/' + month + '/' + year;
        return formattedTime;

    }

30voto

Jim Blackler Points 14306
var date = new Date(1313564400000);
var month = date.getMonth();

etc.

Cela sera dans l'heure locale du navigateur de l'utilisateur.

8voto

Adam Marsh Points 488

Une vieille question, mais aucune des réponses ne semblait complète, et une mise à jour pour 2020 :

Par exemple : (vous pouvez avoir une décimale si vous utilisez une précision en microsecondes, par exemple performance.now())

let timestamp = 1586438912345.67;

Et nous avons :

var date = new Date(timestamp); // jeudi 09 avril 2020 14:28:32 GMT+0100 (heure d'été britannique)
let year = date.getFullYear(); // 2020
let month = date.getMonth() + 1; // 4 (notez l'indice zéro : janv = 0, déc = 11)
let day = date.getDate(); // 9

Et si vous voulez que le mois et le jour soient toujours une chaîne à deux chiffres (par exemple "01") :

let month = (date.getMonth() + 1).toString().padStart(2, '0'); // "04"
let day = date.getDate().toString().padStart(2, '0'); // "09"

Pour une complétude étendue :

let hour = date.getHours(); // 14
let minute = date.getMinutes(); // 28
let second = date.getSeconds(); // 32
let millisecond = date.getMilliseconds(); // 345
let epoch = date.getTime(); // 1586438912345 (millisecondes depuis l'époque)

De plus, si votre horodatage est en fait une chaîne au début (peut-être à partir d'un objet JSON, par exemple) :

var date = new Date(parseFloat(timestamp));

ou pour l'instant :

var date = new Date(Date.now());

Plus d'informations si vous en avez besoin ici (2017).

7voto

Jacob Points 33729

Au lieu d'utiliser parse, qui est utilisé pour convertir une date chaîne en un Date, il suffit de le passer au constructeur Date:

var date = new Date(timestamp);

Assurez-vous que votre timestamp est un Number, bien sûr.

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