Maison >Java >javaDidacticiel >Comment définir un fuseau horaire spécifique pour un objet de date Java ?

Comment définir un fuseau horaire spécifique pour un objet de date Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 07:54:09974parcourir

How Do I Set a Specific Time Zone for a Java Date Object?

Modification du fuseau horaire d'un objet Date en Java

Problème :

Lors de l'analyse d'un java.util.Date à partir de une chaîne sans informations explicites sur le fuseau horaire, le fuseau horaire local du système est automatiquement attribué à l'objet Date résultant. Cela peut ne pas être souhaitable dans les cas où un fuseau horaire spécifique doit être spécifié.

Solution :

Pour définir un fuseau horaire personnalisé pour un objet Date, vous pouvez utilisez la classe DateFormat. Voici un exemple utilisant SimpleDateFormat :

SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
isoFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = isoFormat.parse("2010-05-23T09:01:02");

Dans cet exemple :

  1. Un objet SimpleDateFormat (isoFormat) est créé pour analyser la chaîne dans un objet Date.
  2. Le fuseau horaire de l'objet SimpleDateFormat est défini sur "UTC" à l'aide TimeZone.getTimeZone("UTC").
  3. La chaîne "2010-05-23T09:01:02" est analysée dans un objet Date à l'aide d'isoFormat.parse().
  4. L'objet Date a désormais un fuseau horaire UTC, quel que soit le fuseau horaire local du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn