Je travaille avec un service qui me donne des temps de diffusion pour des émissions de télévision en Unix Time (secondes depuis minuit, 1er janvier 1970, à Greenwich, Angleterre). J'ai besoin de convertir cela, en javascript, à l'heure normale de l'Est (USA). Je dois tenir compte de l'heure d'été et du fait que l'horloge du client peut être réglée sur autre chose que l'heure normale de l'Est. Je suis sûr que ce code a déjà été écrit. Quelqu'un peut-il me diriger vers cela?Javascript - Temps Unix pour un fuseau horaire spécifique
Répondre
Ce que vous trouverez est-il est impossible de se traduire par un fuseau horaire spécifique, mais aussi longtemps que vos utilisateurs sont dans le fuseau horaire souhaité, cela fonctionnera:
var date = new Date();
date.setTime(unixTime * 1000);
L'objet date résultant affichera dans le fuseau horaire de l'ordinateur exécutant le navigateur:
window.console.log(date.toString())
rendements:
"Thu Jun 25 2009 09:48:53 GMT-0400 (EDT)"
pour moi en tout cas)
https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6016329.html
semble avoir une solution pour changer les fuseaux horaires, mais il ne semble que vous avez à faire le calcul vous-même. Il n'y a pas de méthode setTimezone ou setLocale.
et pas de gestion de l'heure d'été – morgancodes
J'ai écrit du code qui va transformer les millisecondes GMT en un objet de type Date qui peut être interrogé pour les valeurs d'heure standard de l'Est. Il gère l'heure d'été.
ESTDate = function(millis){
if(isNaN(parseInt(millis))) {
throw new Error("ESTDate must be built using a number");
}
var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
var gmtDate = new Date(millis);
var clockSetDate = function(month){
var date = new Date(0);
date.setUTCFullYear(gmtDate.getUTCFullYear());
date.setUTCMonth(month);
date.setUTCHours(2);
while(date.getUTCDay() != "0"){
date.setTime(
date.getTime() + MILLIS_PER_DAY
);
};
return date;
}
var startStandarTimeDate = clockSetDate(2);
var endStandardTimeDate = clockSetDate(10);
date = new Date(millis);
var estOffset = 60 * 60 * 1000 * 4;
var dltOffset = (
(startStandarTimeDate < date) &&
(date < endStandardTimeDate)
) ? 0: 60 * 60 * 1000;
date.setTime(date.getTime() - (estOffset + dltOffset));
var self = {
getDate: function(){
return date.getUTCDate();
},
getDay:function(){
return date.getUTCDay();
},
getFullYear:function(){
return date.getUTCFullYear();
},
getHours:function(){
return date.getUTCHours();
},
getMilliseconds:function(){
return date.getUTCMilliseconds();
},
getMinutes:function(){
return date.getUTCMinutes();
},
getMonth:function(){
return date.getUTCMonth();
},
getSeconds:function(){
return date.getUTCSeconds();
}
}
return self;
}
Renommer: startStandarTimeDate pour startStandardTimeDate. Avez-vous changé le fuseau horaire à EST? Si un utilisateur est en CST, la nouvelle date (millis) est en heure centrale, n'est-ce pas? avez-vous besoin de rendre compte de date.getTimezoneOffset()? – jon077
- 1. Javascript Différence entre fuseau horaire et GMT
- 2. Comment tester un fuseau horaire?
- 3. Comment utiliser Zend_Date pour imprimer une heure dans un fuseau horaire spécifique
- 4. Fuseau horaire Fonctions Aide
- 5. Convertir temps d'un fuseau horaire à l'autre dans Rails
- 6. Fuseau horaire en C#?
- 7. obtenir l'heure actuelle en fonction du fuseau horaire dans javascript
- 8. Datetime Mysql avec Fuseau horaire
- 9. Dates sans composant de fuseau horaire ou de fuseau horaire dans Java/MySQL
- 10. Obtenir le fuseau horaire de DateTime
- 11. Horodatage Unix et temps JavaScript; trop grand!
- 12. Forçage du fuseau horaire "+0000" pour RFC2822 fois dans Ruby
- 13. Comment spécifier le fuseau horaire (UTC) lors de la conversion en heure Unix? (Python)
- 14. Problème de fuseau horaire dans Java/Linux
- 15. Fuseau horaire de l'application Web Problème
- 16. .NET 2.0 DateTime.ToString() conversion à un fuseau horaire différent
- 17. Comment afficher DateTime avec un fuseau horaire abrégé?
- 18. Covert NSString à NSDate dans un fuseau horaire différent
- 19. Changement de fuseau horaire sur un projet Django existant
- 20. Réglage du fuseau horaire du mode org
- 21. fuseau horaire de réglage en Python
- 22. Comment définir le fuseau horaire dans Trac?
- 23. Modification du fuseau horaire en PHP
- 24. Fixation du fuseau horaire sur Solaris 10
- 25. Comment définir un fuseau horaire client identique à celui de la fenêtre Fuseau horaire du serveur .NET C#
- 26. J2ME Obtenir le fuseau horaire actuel
- 27. Mise en correspondance hibernate pour "horodatage sans fuseau horaire" postgresql?
- 28. Comment afficher une date avec un fuseau horaire personnalisé?
- 29. Python: affiche l'heure dans un fuseau horaire différent
- 30. Comment imprimer un datetime Python dans le fuseau horaire local?
Merci pour la réponse, mais quelle que soit ma solution, il faudra soustraire quatre heures de l'heure unix, et il faudra ensuite gérer l'heure d'été. Ne pensez pas que ce que vous avez posté le fera. – morgancodes
Tout cela repose sur les informations de fuseau horaire du navigateur. Si le système a la bonne tzdata, alors il le fera. Vous pouvez tester cela en créant des dates pour les heures d'été et d'hiver (en supposant que votre TZ locale observe DST), et en utilisant la méthode getTimezoneOffset() de Date. –
Je pensais pouvoir parier sur GMT en soustrayant timeZoneOffset, puis en soustrayant manuellement quatre heures, et en corrigeant manuellement pour l'heure d'été. Un peu moche, mais il me semble que cela fonctionnerait quel que soit le fuseau horaire dans lequel le navigateur pense qu'il est. – morgancodes