Zoeken…


Opmerkingen

Vanaf Java 8 zijn Calendar en de subklassen vervangen door het java.time- pakket en de subpakketten . Ze hebben de voorkeur, tenzij een oude API Agenda vereist.

Agenda-objecten maken

Calendar kunnen worden gemaakt met getInstance() of met de constructor GregorianCalendar .

Het is belangrijk op te merken dat maanden in Calendar op nul zijn gebaseerd, wat betekent dat JANUARI wordt voorgesteld door een int waarde 0. Gebruik voor een betere code altijd Calendar constanten, zoals Calendar.JANUARY om misverstanden te voorkomen.

Calendar calendar = Calendar.getInstance();
Calendar gregorianCalendar = new GregorianCalendar();
Calendar gregorianCalendarAtSpecificDay = new GregorianCalendar(2016, Calendar.JANUARY, 1);
Calendar gregorianCalendarAtSpecificDayAndTime = new GregorianCalendar(2016, Calendar.JANUARY, 1, 6, 55, 10);

Opmerking : gebruik altijd de maandconstanten: de numerieke weergave is misleidend , bijv. Calendar.JANUARY heeft de waarde 0

Agendavelden verhogen / verlagen

add() en roll() kunnen worden gebruikt om Calendar te verhogen / verlagen.

Calendar calendar = new GregorianCalendar(2016, Calendar.MARCH, 31); // 31 March 2016

De methode add() is van invloed op alle velden en gedraagt zich effectief als men werkelijke datums aan de kalender zou toevoegen of aftrekken

calendar.add(Calendar.MONTH, -6);

De bovenstaande bewerking verwijdert zes maanden van de kalender en brengt ons terug naar 30 september 2015.

Gebruik roll() om een bepaald veld te wijzigen zonder de andere velden te beïnvloeden.

calendar.roll(Calendar.MONTH, -6);

De bovenstaande bewerking verwijdert zes maanden van de huidige maand , dus de maand wordt geïdentificeerd als september. Er zijn geen andere velden aangepast; het jaar is niet veranderd met deze operatie.

AM / PM zoeken

Met de kalenderklasse is het eenvoudig om AM of PM te vinden.

  Calendar cal = Calendar.getInstance();
  cal.setTime(new Date());
  if (cal.get(Calendar.AM_PM) == Calendar.PM)
      System.out.println("It is PM");

Kalenders aftrekken

Gebruik de methode getTimeInMillis() om een verschil te krijgen tussen twee Calendar 's:

Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.DATE, c2.get(Calendar.DATE) + 1);

System.out.println(c2.getTimeInMillis() - c1.getTimeInMillis()); //outputs 86400000 (24 * 60 * 60 * 1000)


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow