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 :)
Version imprimable
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:Date d = new Date();
la valeur doit être le nombre de millisecondes écoulées depuis le 1er Janvier 1970 à 00:00:00.000 GMTCode:
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:Calendar c = Calendar.getInstance();
La même chose pour une locale spécifiée..Code: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:
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:
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:
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:
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