Salut,
question de débutant vue et revue, je tente de récupérer la date et l'heure à l'instant t mais je bloque.
Autre question, possible de récupérer une autre date et heure que celle "système"?
Merci d'avance![]()
Salut,
question de débutant vue et revue, je tente de récupérer la date et l'heure à l'instant t mais je bloque.
Autre question, possible de récupérer une autre date et heure que celle "système"?
Merci d'avance![]()
Il faut différencier "date & heure" et un "timestamp", ouais je sais c'est pas très glamour comme différence et ça fait un peu pédant, mais il y a une différence...
La première dépend de la locale (style de calendrier) et de la time-zone, pas la seconde.
Pour le "timestamp" (date absolue, partout la même pour tout le monde) c'est simple:
Il est possible d'obtenir une Date à partir de n'importe quelle autre valeur grâce à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Date d = new Date();
la valeur doit être le nombre de millisecondes écoulées depuis le 1er Janvier 1970 à 00:00:00.000 GMT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 long longValue = xxxxx; Date d = new Date(longValue);
C'est d'ailleurs cette valeur qui est retourné par System.currentTimeMillis()
Pour la "Date & Heure", il faut passer par un objet de type "Calendar":
Retournera donc la date calendaire actuelle, dans la locale par défaut, et la time-zone par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Calendar c = Calendar.getInstance();
La même chose pour une locale spécifiée..
Code : Sélectionner tout - Visualiser dans une fenêtre à part Calendar c = Calendar.getInstance(locale);
L'implémentation de Calendar dépendra du style de calendrier (Grégorien, Lunaire, ...).
Permet de passer le calendrier sur une "autre" time-zone.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Calendar c = Calendar.getInstance(locale); c.setTimeZone(TimeZone.getInstance("PST"));
Pour modifier la "date absolue" d'une date calendaire, il faut utiliser setTime:
Oui je sais le nom des fonctions est hyper mal choisi, mais ça remonte à Java 1 cette histoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Date date = xxxx; Calendar c = Calendar.getInstance(); c.setTime(date);
Merci merci, mais j'ai quelque chose d'étrange :
je fais
Et j'ai quelque chose d'incohérent qui aparrait toujours à la même valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Calendar c = Calendar.getInstance(); Heure1 = (TextView)this.findViewById(R.id.Heure); heure = Calendar.HOUR_OF_DAY; Heure1.setText("H : "+heure);
Une idée?
Bonjour,
oui, pour soulager nicroman qui en a beaucoup dit,
Calendar.HOUR_OF_DAY ne retourne pas l'heure du jour, mais c'est une constante (c'est pour ça qu'elle est en MAJUSCULES) qui permet d'indiquer ce que tu veux obtenir de ton instance de Calendar, via la méthode sa méthode get :
si tu veux l'heure (sur 24h) :
Et tu peux en obtenir des infos avec le get :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Calendar c = Calendar.getInstance(); int hh=c.get(Calendar.HOUR_OF_DAY);
http://docs.oracle.com/javase/7/docs...ar.HOUR_OF_DAY
Partager