Horloge fuseaux horaires
Je suis en train de créer deux horloges sur un site qui dit deux fois sur elle. L'un de Londres et l'autre à New York.
J'ai été en mesure de créer une horloge qui indique le courant de temps sur mon ordinateur, mais je ne suis pas sûr de la façon de placer une zone de temps en ce.
Le code que j'ai pour l'instant est:
<script type="text/javascript" language="javascript">
function renderTime() {
var currentTime = new Date();
var diem = "AM";
var h = currentTime.getHours();
var m = currentTime.getMinutes();
var s = currentTime.getSeconds();
if (h == 0) {
h = 12
} else if (h > 12) {
h = h - 12;
diem = "PM";
}
if (h < 10) {
h = "0" + h;
}
if (m < 10) {
m = "0" + m;
}
if (s < 10) {
s = "0" + s;
}
var myClock = document.getElementById ("clockDisplay");
myClock.textContent = h + ":" + m + ":" + s + " " + diem;
setTimeout ('renderTime()', 1000);
}
renderTime();
</script>
C'est appliquer une feuille de style CSS que j'ai créé afin que je puisse avoir de l'horloge dans une police de caractères.
- Here's un tas de façons cela peut être accompli.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter ou soustraire des heures à partir de votre date avec
où offset est le nombre d'heures.
J'ai mis à jour le jsfiddle avec cette ligne et la fonction de sorte qu'il accepte un paramètre de décalage. Ce n'est pas le décalage UTC, combien d'heures à ajouter à partir de l'heure du système. Vous pouvez obtenir de l'heure UTC compensée par
currentTime.getTimezoneOffset()/60
Démo
getTimezoneOffset
d'abord pour savoir combien d'heures à ajouter/soustraire. Vous ne voulez pas faire, -5, mais -5 UTC (+0), de sorte que vous aurez besoin pour compenser le décalage entre le décalage horaire. Par exemple, Si mon temps de décalage est déjà -5, votre script ne serait pas soustraire quoi que ce soit. Si c'était -6, il serait ajouter 1 de sorte que le résultat final sera de -5. Faire les choses avec le temps peut être très salissant, je regarderais une bibliothèque qui dispose déjà de toutes les choses bizarres qui a fonctionné.currentTime.getTimezoneOffset()
vous donnera la différence de temps entre le Temps Moyen de Greenwich (GMT) et l'heure locale, en quelques minutes.Vous pouvez utiliser la valeur pour calculer le temps requis fuseau horaire.
Pour ce faire correctement, vous aurez besoin d'un temps de base de données de zone, comme l'un de ceux que j'ai énumérés ici.
Toutes les autres réponses à cette question font l'erreur de penser qu'un "fuseau horaire" et un "décalage horaire" sont la même chose. Ils ne le sont pas. Par exemple, le fuseau horaire de Londres est le
Europe/London
, ce qui peut avoir un +0 ou +1 décalage en fonction de ce moment de l'année. Le fuseau horaire de New York estAmerica/New_York
, ce qui peut avoir un ou -4 -5 décalage basé sur un jeu complètement différent des dates de Londres.Vous voudrez peut-être regarder à moment-timezone:
Découvrez http://www.datejs.com/ il gère les dates et heures de décalage horaire joliment
si vous découvrez la démonstration, dans la zone de texte, mettre
1 GMT
vs1 MST
ou1 EST
et il va sortir une belle date pour vous wrt/le fuseau horaireMerci à vous tous pour votre aide. C'était un peu confus, mais j'ai trouvé un bon exemple ici est de savoir comment je me suis retrouvé à travailler. Découvrez exemple 4: http://www.ajaxupdates.com/jclock-jquery-clock-plugin/
Espère que c'est utile pour quelqu'un d'autre!
Que j'utilise sur m site de php suivantes:
Où j'utilise une table, ce qui permettra de remplir
avec le temps à partir de Los Angeles (PDT ou PST) cependant mon serveur fonctionne également sur cette époque, donc en passant la strftime à partir de votre serveur peut ne pas produire le même effet. Mais c'était ma résolution pour obtenir un temps de travail dans une autre zone.