Pouvez-vous définir AM/PM dans une date GregorianCalendar ou est-ce quelque chose que vous ne pouvez obtenir que

StackOverflow https://stackoverflow.com//questions/9667080

  •  12-12-2019
  •  | 
  •  

Question

J'ai jeté un coup d'œil à l'API Java sur Gregoriancalendar et je n'ai vu aucune façon de définir l'AM / PM dans son constructeur.Pouvez-vous définir AM/PM dans une date GregorianCalendar ou est-ce quelque chose que vous ne pouvez obtenir qu'en utilisant une méthode get sur le calendrier.Est-ce qu'il gère tout cela automatiquement.Je cherche à prendre le matin/après-midi et à l'afficher dans mon toString pour une classe qui a un objet date.J'allais utiliser la méthode get sur le calendrier pour obtenir ceci.Je comprends que le am/pm est un int qui vaut 0 ou 1.

Je me demandais également si toutes les heures sont de 24 heures en grégorien et si cela détermine automatiquement le matin et l'après-midi ?

Était-ce utile?

La solution

Calendar.get(Calendar.HOUR);

Donne l'heure (0-12) pour le format AM/PM.

Calendar.get(Calendar.HOUR_OF_DAY);

Donne l'heure allant de 0 à 24.

Il effectue la conversion tout seul.Vous n'avez pas besoin de le dire.

cal.set( Calendar.AM_PM, Calendar.AM )

Volonté/Pourrait changement l'heure ponctuelle que cet objet de calendrier représente.(S'il est 13h00, vous aurez ensuite 1h00 du matin).Ceci est vrai pour GregorianCalendar (voir commentaire à la question de Peter Cetinski).

Btw/Hint imo, vous devriez utiliser un DateFormat sortir ton format préféré.

Autres conseils

Calendar cal = new GreogorianCalendar();   
cal.set( Calendar.AM_PM, Calendar.AM );

Simply I did this :

Calendar calendar = new GregorianCalendar();
    int seconds = calendar.get(Calendar.SECOND);
    int minutes = calendar.get(Calendar.MINUTE);
    int hour = calendar.get(Calendar.HOUR);
    int am_pm = calendar.get(Calendar.AM_PM);
    String ampm = "ampm";
    if (am_pm == 0) {
        ampm = "AM";
    } else {
        ampm = "PM";
    }
    jLabel1.setText(hour + ":" + minutes + ":" + seconds + " " + ampm);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top