Utilisation du calendrier pour déterminer AM ou PM dates
À l'aide du calendrier de la classe pour déterminer AM ou PM.
Calendar c = Calendar.getInstance();
int seconds = c.get(Calendar.SECOND);
int minutes = c.get(Calendar.MINUTE);
int hours = c.get(Calendar.HOUR);
int years = c.get(Calendar.YEAR);
int months = 1 + c.get(Calendar.MONTH);
int days = c.get(Calendar.DAY_OF_MONTH);
int AM_orPM = c.get(Calendar.AM_PM);
try{
if (hours < 12)
{
String PM = "";
if (AM_orPM == 1)
{
PM = "PM";
}
timestamp.setText("Refreshed on " + months + "-"
+ days + "-" + years + " " + hours + ":" + minutes + ":" + seconds + " " + PM);
timestamp.setTextSize(17f);
timestamp.setTextColor(Color.GREEN);
}
else if (hours > 12)
{
String AM = "";
if (AM_orPM == 0)
{
AM = "AM";
}
hours = hours - 12;
timestamp.setText("Refreshed on " + years + "-"
+ months + "-" + days + " " + hours + ":" + minutes + ":" + seconds + AM);
timestamp.setTextSize(17f);
timestamp.setTextColor(Color.GREEN);
}
}
catch (Exception e){}
Je veux mettre le temps à AM ou PM en fonction de l'heure actuelle.
aussi pour une raison de Calendrier.Valeur de MOIS ne me donne pas le bon mois. C'est par un le donc c'est pourquoi j'ai dû ajouter 1. Je me demandais si c'est normal?
int months = 1 + c.get(Calendar.MONTH);
Comme une note de côté, il n'y a pas de raison d'avoir de la si/d'autre de la clause, il suffit de dire la Chaîne de AM_PM = ""; if (AM_orPM == 1){ AM_PM = "H"; } else { AM_PM = "AM"; }
OriginalL'auteur cj1098 | 2011-06-04
Vous devez vous connecter pour publier un commentaire.
C'est normal. Parce que l'indice de la
Calendar.MONTH
commence à partir de 0. Ainsi que pourquoi vous avez besoin de+1
pour obtenir le bon Mois.est-ce ma faute, ou comparez-vous si l'heure est à moins de 12? (Si oui, alors c'est que je SUIS). Vous êtes en train de faire l'inverse. Et vous pouvez faire un simple
if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM";
Calendrier.AM_PM renvoie 0 si elle est SUIS et 1 pour les PMJe pense que cela fonctionne maintenant, mais c'est bizarre. Je ne suis pas sûr de ce que je faisais de mal en dehors des heures > 12; heures <12 chose... parce que, fondamentalement, j'ai été vérifier pour l' == 1 ou 0
passons sur lol. J'ai été en utilisant les heures au lieu d'une simple 1 ou 0.
thx : ) je me sens stupide lol
OriginalL'auteur sfat
La détermination SUIS contre la PM est un simple calcul basé sur l'heure. Voici le code:
OriginalL'auteur PeteH
Simplement vérifier
calendar.get(Calendar.AM_PM) == Calendar.AM
OriginalL'auteur Linh
J'ai essayé cette, mais il ne marche pas. Je dois obtenir le AM_PM valeur et ensuite faire la comparaison:
C'était la solution:
OriginalL'auteur Jorgesys