La spécification JavaScript garantit le comportement de new Date("2017-06-18"). new Date("2017-6-18") n'est pas conforme au format de spécification et le navigateur peut tout faire (y compris interpréter dans différents fuseaux horaires
) ;
Chrome traite l'analyse de ces formats différemment - Firefox ne le fait pas - il est donc recommandé d'utiliser les formats de date dans la spécification et de ne pas compter sur le navigateur pour gérer les formats "non standard"
Veuillez écrire le code conformément aux spécifications !
new Date 和 Date.parse 使用的是同样的解析规律,只是一个返回 Date object 另一个返回毫秒数,我们使用new DatePour illustrer le problème :
console.log(new Date('2017-06-18')) // Sun Jun 18 2017 08:00:00 GMT+0800 (CST)
console.log(new Date('2017-6-18')) // Sun Jun 18 2017 00:00:00 GMT+0800 (CST)
C'est exactement 8 heures de différence, donc le nombre de millisecondes renvoyées est différent.
La spécification JavaScript garantit le comportement de new Date("2017-06-18"). new Date("2017-6-18") n'est pas conforme au format de spécification et le navigateur peut tout faire (y compris interpréter dans différents fuseaux horaires
) ;Chrome traite l'analyse de ces formats différemment - Firefox ne le fait pas - il est donc recommandé d'utiliser les formats de date dans la spécification et de ne pas compter sur le navigateur pour gérer les formats "non standard"
Veuillez écrire le code conformément aux spécifications !
new Date
和Date.parse
使用的是同样的解析规律,只是一个返回Date object
另一个返回毫秒数,我们使用new Date
Pour illustrer le problème :C'est exactement 8 heures de différence, donc le nombre de millisecondes renvoyées est différent.