Je veux convertir la date en horodatage, mon entrée est 26-02-2012
. j'ai utilisé
new Date(myDate).getTime();
Il dit NaN .. Quelqu'un peut-il dire comment convertir cela?
javascript
date
time
selladurai
la source
la source
Date(myDate).getTime()
(ce que vous avez marqué comme code) ou est-ce que le mot «nouveau» avant il est censé faire partie du code? Plus vous déployez d'efforts, meilleures seront les réponses que vous obtiendrez.Réponses:
Mettre à jour:
DEMO (testé dans Chrome, FF, Opera, IE et Safari).
la source
NaN
. Dans Safari, vous devez utiliser l'autre constructeur possiblenew Date(year, month, day);
, concernant cet exemple:new Date(myDate[2], myDate[1], myDate[0]);
YYYY-MM-DD
), qui est garanti d'être compris parDate()
et est, en général, le format le plus interopérable pour les chaînes de date.new Date(newDate).getTime()
produira un horodatage en résolution milliseconde.Math.floor(new Date(newDate).getTime() / 1000)
Essayez cette fonction, elle utilise la méthode Date.parse () et ne nécessite aucune logique personnalisée:
la source
la source
ce code refactorisé le fera
cela fonctionne sur tous les navigateurs modernes sauf ie8-
la source
Ici, nous avons deux problèmes. Tout d'abord, vous ne pouvez appeler getTime que sur une instance de la date. Vous devez mettre la nouvelle date entre crochets ou l'attribuer à une variable.
Deuxièmement, vous devez lui transmettre une chaîne dans un format approprié.
Exemple de travail:
la source
Il vous suffit d'inverser votre chiffre de date et de le changer
-
avec,
:Dans ton cas:
La localisation PS UK n'a pas d'importance ici.
la source
Number
de chaînes commençant par a0
est problématique sur certains moteurs - utilisezparseInt
et spécifiez une base.la source
Pour convertir la date (ISO) en horodatage Unix , je me suis retrouvé avec un horodatage 3 caractères plus long que nécessaire, donc mon année était d'environ 50k ...
J'ai dû le diviser par 1000:
new Date('2012-02-26').getTime() / 1000
la source
Pour ceux qui souhaitent avoir un horodatage lisible au format de,
yyyymmddHHMMSS
Exemple d'utilisation: une extension de fichier de sauvegarde.
/my/path/my.file.js.20190220
la source
Si vous êtes venu ici à la recherche de l' horodatage actuel
TLDR:
la source
Votre chaîne n'est pas dans un format que l'
Date
objet est spécifié pour gérer . Vous devrez l'analyser vous-même, utiliser une bibliothèque d'analyse de date comme MomentJS ou l'ancienne (et non actuellement maintenue, pour autant que je sache ) DateJS , ou la masser dans le bon format (par exemple2012-02-29
) avant de demanderDate
à l'analyser .Pourquoi vous obtenez
NaN
: Lorsque vous demandeznew Date(...)
de gérer une chaîne non valide, elle renvoie unDate
objet qui est défini sur une date non valide (new Date("29-02-2012").toString()
retourne"Invalid date"
). L'appelgetTime()
d'un objet date dans cet état retourneNaN
.la source
Date
objet (ce qui n'a rien à voir avec le DOM).la source
Des réponses ont été fournies par d'autres développeurs, mais à ma manière, vous pouvez le faire à la volée sans créer de fonction définie par l'utilisateur comme suit:
la source