Affichage date et heure d'une zone par identification de la ville

Contenu du snippet

Ce code affiche la date et l'heure dans le format correspondant à la ville choisie(dans le code en dur dans le main c'est Paris: à paramétrer en fonction du besoin)

Donne un exemple de l'utilisation de SimpleDateFormat et TimeZone pour récupérer l'heure dans le format et la zone nécessaire, idem pour la date.

Source / Exemple :


/*

  • Created on 25 juin 2004
*
  • To change the template for this generated file go to
  • Window>Preferences>Java>Code Generation>Code and Comments
  • /
package dateperso; import java.util.Date; import java.util.TimeZone; import java.text.SimpleDateFormat; /**
  • @author amarine
  • Created on 25 juin 2004
*
  • /
public class CalculeDateHeure { String myVille; public CalculeDateHeure(String ville) { myVille = ville; } /**
  • @return une string concaténée date et heure, les substring Heure: et Date: séparent les données
  • /
private String DonneDateHeure() { return ("Heure: " + donnerHeure(myVille) + " Date: " + donnerJour()); } /**
  • @param la ville de référence initialisée dans le constructeur
  • @return heure au format hh:mm:ss si ville identifiée sinon "non disponible" , voir la classe SimpleDateFormat si vous voulez autre format
  • /
private String donnerHeure(String ville) { Date date = new Date(); TimeZone zone = getZoneTemps(ville); if (zone == null) return "non disponible"; SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:ss"); formatter.setTimeZone(zone); return (formatter.format(date)); } /**
  • @return date au format vendredi 25 Mai 2004 , voir la classe SimpleDateFormat si vous voulez autre format
  • /
private String donnerJour() { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("EEEE dd MMMM yyyy"); return (formatter.format(date)); } /**
  • Vérifie la zone de temps pour une ville
  • @param ville la ville à traiter
  • @return la zone de temps ou null si non trouvée
  • /
private static TimeZone getZoneTemps(String ville) { String[] ids = TimeZone.getAvailableIDs(); for (int i = 0; i < ids.length; i++) if (matchTimeZoneID(ids[i], ville)) return TimeZone.getTimeZone(ids[i]); return null; } /**
  • Vérifie si une zone de temps matche une ville
  • @param id l'ID d'une zone de temps (ex. "America/Montreal")
  • @param ville la ville à matcher (ex. "Montreal")
*
  • }
  • @return true si l'ID et la ville matchent
  • /
private static boolean matchTimeZoneID(String id, String ville) { String idVille = id.substring(id.indexOf('/') + 1); return idVille.replace('_', ' ').equals(ville); } public static void main(String[] args) { CalculeDateHeure calc = new CalculeDateHeure("Paris"); System.out.println(calc.DonneDateHeure()); } }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.