2012-06-04 2 views
1

Je développe un site Web qui utilise Comet pour transmettre des données aux clients Web. Mon application est très sensible au temps, j'ai un graphique affichant des points ajoutés chaque seconde.Javascript - redéfinir nouveau comportement de Date() pour compenser GMT

Étant donné que l'application Web est pilotée par Comet, le client n'a pas vraiment besoin de gérer les dates. Il doit uniquement utiliser l'horodatage du serveur pour afficher les informations. c'est-à-dire qu'un point tracé sur le graphique devrait afficher dans l'info-bulle l'horodatage du serveur, quel que soit le fuseau horaire de l'utilisateur.

Je pense que ma meilleure approche serait de récupérer l'horodatage du serveur en utilisant REST. Mesurez ensuite le décalage horaire entre le serveur et l'heure du client, ajoutez/déduisez la différence et utilisez-le comme horodatage du client à des fins d'affichage.

Existe-t-il un moyen de remplacer le comportement par défaut de new Date() pour me donner l'horodatage du serveur en tant que local?

Merci beaucoup.

Répondre

0

redéfinissent juste, il devrait fonctionner correctement:

if(Date) { 
    try{ 
     Date = null; 
     Date = function() { 
      console.log("The more things change, the more they stay the same!"); 
     } 
     Date(); 
    } catch(exeption) { 
     console.log("Couldn't override Date object."); 
    } 
} 
1

j'ai écrit la bibliothèque TimeShift.js qui permet de forcer le constructeur de la date et de réglage de l'heure et le fuseau horaire. Je l'ai écrit à des fins de test, mais il pourrait aussi être utilisé pour d'autres utilisations.

Assurez-vous de vérifier les mises en garde de la bibliothèque actuelle. Il ne prend actuellement en charge qu'un décalage fixe par rapport à GMT, donc les modifications DST ne sont pas prises en charge.

Questions connexes