10
votes

Utilisation du calendrier pour déterminer les dates de l'AM ou PM

Utilisation de la classe de calendrier pour déterminer les temps du matin ou de la PM.

int months = 1 + c.get(Calendar.MONTH);


1 commentaires

À titre de note latérale, il n'y a aucune raison d'avoir la clause IF / SINE, disent simplement une chaîne AM_PM = ""; if (am_orpm == 1) {am_pm = "pm"; } else {am_pm = "am"; }


4 Réponses :


9
votes

C'est normal. Parce que l'index du calendrier commence à partir de 0. Ainsi, de sorte que vous avez besoin de +1 pour obtenir le mois correct.


3 commentaires

c'est ce que je pensais. Ma principale question était comment puis-je utiliser la classe de calendrier pour afficher AM ou PM? Parce que dans la mesure où j'ai testé le PM travaille, mais le Suis n'est pas.


Est-ce mon erreur ou comparez-vous si l'heure est inférieure à 12? (Si oui, alors c'est le matin). Vous faites l'inverse. Et vous pouvez faire un simple si (calendar.amge (calendar.am_pm) == 0) am_pm = "am"; sinon am_pm = "pm"; calendar.am_pm retourne 0 s'il est am et 1 pour pm


Je pense que ça marche maintenant, mais c'est bizarre. Je ne suis pas sûr de ce que je faisais mal à part les heures> 12; heures <12 choses ... parce que fondamentalement je vérifiais le == 1 ou 0



5
votes

Déterminer AM vs. PM est un calcul simple en fonction de l'heure. Voici le code:

String timeString="";
int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
if (hour == 0) {
    timeString =  "12AM (Midnight)";  
} else if (hour < 12) {
    timeString = hour +"AM";
} else if (hour == 12) {
    timeString = "12PM (Noon)";
} else {
    timeString = hour-12 +"PM";
}


0 commentaires

6
votes

Vérifiez simplement calendar.get (calendar.am_pm) == calendar.am xxx


0 commentaires

0
votes

J'ai essayé Ce , mais cela ne fonctionne pas. Je dois obtenir la valeur AM_PM, puis faire la comparaison:

   Calendar c = Calendar.getInstance();
    int AM_PM = c.get(Calendar.AM_PM);

    if(AM_PM == Calendar.AM){
       //AM
    }else{
       //PM
    }


0 commentaires