JAVA Fuseau horaire question EDT Vs HNE
J'ai un débutant en java et donc n'ont pas été en mesure de comprendre cela depuis un certain temps.
Je suis avec Windows XP et la machine est réglé sur le Fuseau horaire: Eastern Time (US &Canada).
J'ai une application Java qui prend le système actuel heure et le fuseau horaire info et écrit une chaîne de caractères comme: 20101012 15:56:00 (HNE), à un fichier.
La dernière pièce de la Date ci-dessus, à savoir: le fuseau horaire, les changements de l'HNE HAE que j'ai du changer ma date système.
Être précis: à Partir de novembre(ex: Nov2009) à Mars (mars 2010), il est, sinon EDT.
Est est ce que je veux TOUJOURS et pas HAE.
Est-il particulier de la classe /fonction, par lequel je peux toujours le lire comme EST?
En attente de réponse.
Merci pour vos réponses.
Eh bien, j'ai oublié de mentionner quelques petites choses.
-
Je veux ma machine pour être fixé à: Eastern Time (US &Canada) dans les paramètres de fuseau horaire windows.
-
En termes simples, Ce que je veux faire est: ma machine de temps, et l'écrire dans un fichier texte
-
Je suis conscient de l'heure d'été qui se produit à partir de Mars à Nov.
Mais le problème c'est que quand j'écris ma machine de temps pour le fichier, il est écrit que 2010 01 12 15:56:00 HNE si l'heure d'été (DST) n'est pas présent et que 20101012 15:56:00 HAE, si l'heure d'été est présent.
Ma préoccupation est de savoir si c'est l'heure d'été ou pas, je veux écrire HNE toujours.
20101012 15:56:00 EDT
voulez-vous le lire comme 20101012 15:56:00 EST
ou 20101012 14:56:00 EST
? Je vais entreprise que vous temps de calcul des compensations et vous vous êtes brûlé par les changements de temps.Si c'est pour l'enregistrement de raisons, envisager l'enregistrement de l'heure UTC à la place.
OriginalL'auteur ViV | 2010-10-14
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que vous devriez faire ce que vous suggérez.
Vous dire que, indépendamment de ce que votre système de fuseau horaire est actuellement (Heure de l'est n'est PAS votre fuseau horaire, mais UTC+5 ou +4), vous souhaitez qu'il affiche EST. C'est juste totalement faux. Supposons que c'est l'été, et votre ordinateur pense que c'est 2010/6/15 15:00 (heure locale). Vous imprimez à l'heure actuelle et vous obtenez:
Pour quelque raison que ce soit, vous pensez que l'EDT est rébarbatif, et donc, vous le remplacez l'est:
cependant, si vous envoyez alors que l'extrait de code à quelqu'un d'autre dans l'heure suivante, ils vont être forcés de penser que vous avez voyagé dans le futur! Depuis le 15:00:00 est est 16:00:00 HAE.
OriginalL'auteur Mike Axiak
Je voudrais créer une zone personnalisée:
Qui rapport est et sera toujours de 5 heures à l'avance de l'heure UTC. En particulier, ne pas choisir une fuseau horaire ou vous finirez par être brûlé lorsqu'une zone est mise à jour modifie la définition.
Sachez qu'en forçant HNE les dates que vous enregistrez seul match à l'heure affichée par le système pendant 5 mois de l'année. L'autre de 7 mois, vous serez une heure. Il peut simplifier l'analyse du fichier, mais il va dérouter les utilisateurs.
OriginalL'auteur Devon_C_Miller
Il convient de noter que pendant les mois d'Été de l'est de fuseau horaire, à peu près tous les grands centre utilise l'Heure d'été, de sorte que vous êtes correctement montré à la fois que les gens dans ce fuseau horaire soins.
Si vous voulez qu'il soit un fuseau horaire spécifique, plutôt que la valeur par défaut/système de fuseau horaire, vous pouvez forcer le Fuseau horaire à est par quelque chose comme ceci:
Bien que, comme Michael mentionné ci-dessus, la documentation recommande l'utilisation d'un local nom complet tel que "les etats-unis/New York", plutôt que l'ensemble de l'abréviation du fuseau horaire.
Si vous voulez prétendre que c'est vraiment HNE même si vous savez qu'elle est (HAE), alors je suppose que vous pouvez faire ce qui suit: utilisation d'un
SimpleDateFormat
exemple avec un motif personnalisé qui ne comprennent pas les informations de fuseau horaire, puis le clou "EST" sur la fin de la Chaîne que vous écrivez.OriginalL'auteur Ophidian
Votre question est toujours pas clair.
Je n'ai pas comprendre si vous voulez tout simplement à force de 'EST' caractères, même si votre machine est automatiquement mis à chage de l'heure d'été, ou ce que vous voulez est d'obtenir le temps réel sur EST.
Donc, vous avez deux options:
Votre machine de temps est fixée à 2:15 et l'heure d'été sur l'effet, et vous voulez écrire 2 h 15 HNE (ce qui n'est pas le bon temps réel), vous devez utiliser SimpleDateFormat. De cette façon, vous serez allongé sur le temps. Mais, de toute façon, vous savez ce qui convient le mieux pour vous.
Votre machine de temps est fixée à 2:15 et l'heure d'été sur l'effet, et vous voulez écrire 1 h 15 EST, vous devez utiliser: le Fuseau horaire.setDefault(Fuseau horaire.getTimeZone("HNE"))
Essayez Système..println(new SimpleDateFormat("aaaammjj hh:mm:ss 'EST'").format(yourDate)); et voir les résultats. Regarder dans SimpleDateFormat javadoc pour inumerous patron lettres que vous avez.
OriginalL'auteur L. Holanda
La solution dépend de pourquoi vous avez écrit ce temps et de ce que vous voulez faire avec elle quand vous la lisez de nouveau (ce qu'il va être utilisé pour faire, non pas "ce que vous voulez"). Toujours écrit comme à l'est est une fausse représentation des faits. Lorsque l'EDT est, en effet, il est pas, en fait, EST. Si vous êtes en train de suivre les quelques "absolue" point dans le temps, je recommande de travailler dans GMT à la place de n'importe quel fuseau horaire.
OriginalL'auteur Stephen P
Ce n'est pas un temps réel de la zone (ni sont exprimées en HAE et heure de l'est). Un fuseau horaire (au sens Java) est quelque chose comme "les etats-unis/Phoenix", qui est un code pour une administration fuseau horaire qui a à la fois une base de décalage et (éventuellement) passe à l'heure d'été à des dates précises. Les deux peuvent changer, et il est nécessaire de prendre ces changements en compte lors de l'interprétation des dates historiques.
Donc, si vous ne voulez pas avoir l'heure d'été commutateurs, choisissez un fuseau horaire qui n'observe pas l'heure d'été. Il est possible qu'il n'existe pas de fuseau horaire et d'essayer d'agir comme il est introduirait impossible dates.
OriginalL'auteur Michael Borgwardt