Question Comment puis-je convertir une date en un entier?


J'ai un tableau de dates et j'utilise la fonction map pour la parcourir, mais je ne peux pas comprendre le code JavaScript pour les convertir en nombres entiers.

C'est le tableau des dates:

var dates_as_int = [
    "2016-07-19T20:23:01.804Z",
    "2016-07-20T15:43:54.776Z",
    "2016-07-22T14:53:38.634Z",
    "2016-07-25T14:39:34.527Z"
];

14
2017-08-01 14:47


origine


Réponses:


var dates = dates_as_int.map(function(dateStr) {
    return new Date(dateStr).getTime();
});

=>

[1468959781804, 1469029434776, 1469199218634, 1469457574527]

Mettre à jour: Version ES6:

const dates = dates_as_int.map(date => new Date(date).getTime())

39
2017-08-01 14:55



Voici ce que vous pouvez essayer:

var d = Date.parse("2016-07-19T20:23:01.804Z");
alert(d); //this is in milliseconds

7
2017-08-01 14:51



Utiliser le intégré Date.parse fonction qui accepte les entrées au format ISO8601 et renvoie directement la valeur de retour d'entier souhaitée:

var dates_as_int = dates.map(Date.parse);

6
2017-08-01 15:45



Par int, tu veux dire une époque?

new Date(2016, 8, 1).getTime() / 1000

en tant que fonction:

function dateToEpoch(date) {
    return date.getTime() / 1000
}

et appeler comme:

dateToEpoch(new Date(2016, 8, 1);

0
2017-08-01 14:49



Vous pouvez le parcourir Number()

var myInt = Number(new Date(dates_as_int[0]));

Si le paramètre est un objet Date, la fonction Number () renvoie le nombre de millisecondes écoulées depuis le 1er janvier 1970 à minuit, heure UTC.

Utilisation du numéro ()


0
2017-08-01 14:50