Problème de Calendrier.get(Calendar.À l'HEURE)

J'essaie d'afficher dans un TextView lors de ma dernière mise à jour de l'application (par exemple, "Dernière mise à jour à 12:13). Je suis en train d'utiliser un Calendrier de l'instance et j'ai pensé que j'ai bien compris, mais il me semble avoir de la difficulté. Je sais que pour obtenir un exemple, j'ai utiliser la méthode du Calendrier.getInstance(). Et puis pour obtenir l'heure et la minute, j'ai été en utilisant le Calendrier.get(Calendar.À l'HEURE) et le Calendrier.get(Calendar.MINUTE). Ma minute champ retourne correctement, mais le Calendrier.L'HEURE est de retour à l'heure sur une horloge de 24 heures et je veux une horloge de 12 heures. J'ai pensé HOUR_OF_DAY était l'horloge de 24 heures. Où vais-je tort?

Voici le code que j'utilise:

Calendar rightNow = Calendar.getInstance();
mTv.setText("Refreshed! Last updated " + 
           rightNow.get(Calendar.HOUR) + ":" + 
           rightNow.get(Calendar.MINUTE) + ".");

mTv est mon TextView que je suis à jour. Merci pour toute aide.

Aussi, il serait idéal si je pouvais dire "Dernière mise à jour il ya 5 minutes." au lieu de "Dernière mise à jour à 12:13pm". Mais je ne suis pas sûr que le meilleur moyen d'avoir cette mise à jour chaque minute sans épuiser les ressources ou la batterie...?

OriginalL'auteur Jon Rubins | 2011-08-08