La classe Date de Java représente une instance spécifique dans le temps, mais son comportement par défaut est de prendre le fuseau horaire local. Cela peut prêter à confusion lorsque vous avez affaire à des dates provenant de différentes localités. Heureusement, vous pouvez définir manuellement le fuseau horaire d'un objet Date pour vous assurer qu'il correspond à l'emplacement souhaité.
Problème :
Vous avez analysé un objet Date à partir d'un chaîne d'entrée, mais elle adopte le fuseau horaire local au lieu du fuseau spécifié dans la chaîne. Comment définir explicitement le fuseau horaire de la date ?
Solution :
Pour définir le fuseau horaire d'un objet Date, vous pouvez utiliser la classe DateFormat. Voici comment :
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); // Set the time zone of the date format isoFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // Parse the date using the specified time zone Date date = isoFormat.parse("2010-05-23T09:01:02");
Dans cet exemple, nous utilisons la classe SimpleDateFormat pour créer un format de date avec un modèle spécifique. Nous définissons ensuite le fuseau horaire du format de date sur UTC à l'aide de la méthode setTimeZone. Enfin, nous analysons la chaîne de date à l'aide du format de date personnalisé, qui interprétera l'heure dans le fuseau horaire UTC.
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!