Fuseau horaire java: San Antonio, Texas


Salut, je cherche à définir le fuseau horaire pour San Antonio, Texas.Certains peuvent-ils me dire comment définir la même chose dans mon code Java.

Je le veux dans le format un peu similaire à America / New York

Actuellement, j'utilise ce code

TimeZone.getTimeZone("America/Denver");

Mais "America / Denver" ne semble pas être le bon fuseau horaire pour San Antonio, Texas

Author: lyndact, 2010-10-13

4 answers

Pour San Antonio, vous devez utiliser TimeZone.getTimeZone("US/Central")

Si vous avez vraiment besoin d'utiliser le format "America/<City>", le plus proche de la ville américaine de San Antonio est "America/Chicago".

, Vous pouvez l'utiliser pour obtenir une liste de tous les Id spécifiques pour NOUS/Central:

String[] values = TimeZone.getAvailableIDs(TimeZone.getTimeZone("US/Central").getRawOffset());

Et puis, vérifiez ici:

Http://www.timeanddate.com/time/zones/

 10
Author: L. Holanda, 2015-05-06 23:48:29

San Antonio → America/Chicago

L'identifiant de fuseau horaire IANA pour San Antonio est America/Chicago, comme indiqué sur Time.is.

Utilisation de java.temps

La façon moderne de gérer la date-heure est avec java.les classes de temps.

Le Instant la classe représente un moment dans le scénario de UTC, avec une résolution de nanosecondes.

Instant instant = Instant.now();  // Current moment in UTC.

Appliquer un ZoneId pour obtenir un ZonedDateTime.

ZoneId z = ZoneId.of( "America/Chicago" );
ZonedDateTime zdt = instant.atZone( z );

Éviter la zone de 3-4 lettres abréviations

Spécifier un fuseau horaire nom dans le format continent/region tels que America/Montreal, Africa/Casablanca, ou Pacific/Auckland.

N'utilisez jamais l'abréviation de 3-4 lettres telle que EST ou IST ou PSTcar ce sont pas de vrais fuseaux horaires, non normalisés et même pas uniques(!).

Le nom du fuseau horaire est souvent une ville. Cette dénomination ne signifie pas littéralement être juste cette ville. Une telle dénomination est simplement un moyen d'étiqueter une région dont les habitants avoir un historique partagé des mêmes règles de fuseau horaire. Cette région peut être assez grande si toute la bande de terre a toujours été peuplée par des personnes partageant le même ensemble de règles.


À propos de java.temps

Le java.time framework est intégré à Java 8 et versions ultérieures. Ces classes permettent d'éviter la pénible vieux héritage date-heure classes telles que java.util.Date, Calendar, & SimpleDateFormat.

Le projet Joda-Time , maintenant en mode de maintenance, conseille la migration vers le java.temps classes.

Pour en savoir plus, consultez le tutoriel Oracle. Et rechercher Stack Overflow pour de nombreux exemples et explications. La spécification est JSR 310.

Où obtenir le java.les classes de temps?

Le Trois-Extra le projet étend java.temps avec des cours supplémentaires. Ce projet est un terrain d'essai pour d'éventuels ajouts futurs à java.temps. Vous pouvez trouver quelques classes utiles ici comme Interval, YearWeek, YearQuarter, et plus.

 3
Author: Basil Bourque, 2017-05-23 12:02:44

Sujet connexe: Comment gérer les fuseaux horaires du calendrier en utilisant Java?

Fuseau horaire pour San Antonio:
Fuseau horaire standard: UTC / GMT -6 heures
Heure d'été: +1 heure
Décalage du fuseau horaire actuel: UTC / GMT -5 heures
Abréviation de fuseau horaire: CDT-Central Daylight Time

Modifier: ce lien est meilleur en ce qui concerne le format Amérique/New York: Fuseaux horaires en Java

 1
Author: chrismh, 2017-05-23 12:02:44

J'ai totalement googlé votre question et j'ai obtenu ceci: http://www.few.vu.nl/~eliens/documents/java/jdk1.2-docs/docs/api/java/util/TimeZone.html

Vous pouvez également obtenir un fuseau horaire en utilisant getTimeZone avec un ID de fuseau horaire. Par exemple, l'ID de fuseau horaire pour le fuseau horaire standard du Pacifique est "PST". Ainsi, vous pouvez obtenir un objet de fuseau horaire PST avec: Utilisez ceci:

 TimeZone tz = TimeZone.getTimeZone("PST");
 0
Author: halfevil, 2015-11-29 21:35:47