2013-09-21 6 views
3

je dois convertir objet Date à timestamp, afin de créer de nouveaux objets Date de datetime et utiliser getTime, mais il fait un résultat différent dans Chrome et Firefox.it dépend de fuseau horaire.getTime en chrome et firefox résultat différent

var date = new Date('2013-08-26T14:30:00'); 

date.getTime(); 
//1377527400000 in Chrome 
//1377511200000 in Firefox 

date.getTimezoneOffset(); 
//-270 in both of them 

attention Firefox à fuseau horaire, mais le chrome ne se soucient pas it.How forcer Firefox puis-je agir comme le chrome dans cette situation et pourquoi ils agissent différents?

Je cherche la différence de manière que suivant le code psudo:

if (Firefox){ 
    // plus with 270*60*1000 
} 

- datetime retour de MySQL, puis remplacez space par T en javascript.

+0

Votre chaîne d'horodatage n'est pas dans un format standardisé. Firefox et Chrome interprètent ces chaînes différemment. La meilleure chose à faire serait de formater votre horodatage correctement en premier lieu. – Pointy

+0

firefox ne peut pas comprendre '2013-08-26 14: 30: 00' –

+0

C'est correct - la norme est RFC 2822, et ce format ne répond pas à cette norme. Il devrait être '26 août 2013 14: 30: 00' – Pointy

Répondre

1

Working Demo Here

essayez d'utiliser le format de date/heure normale:

var date = new Date("mm dd, yy hh:mm:ss"); 

Voir votre code sur JSFiddle

+0

Le formatage fait toute la différence - merci! – knutole

1

essayer d'utiliser ce format:

(new Date('2013-08-26T14:30:00.0Z')).getTime();

et vous aurez 13775 27400000 pour les deux

Questions connexes