Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you set AM/PM in a GregorianCalendar date or is it something you can only get

I had a look at the java api about GregorianCalendar and did not see any way of setting the am/pm in its constructor. Can you set AM/PM in a GregorianCalendar date or is it something you can only get using a get method on the calendar. Does it handle all of this automatically. I am looking to take the am/pm and output it in my toString for a class which has a date object. I was going to use the get method on the calendar to achieve this. I understand the am/pm is an int that is 0 or 1.

Are all hours in the 24 hour format in Gregorian and does it automatically determines the am and pm?

like image 843
daveb Avatar asked Mar 12 '12 12:03

daveb


1 Answers

Calendar.get(Calendar.HOUR);

Gives the hour (0-12) for AM/PM format.

Calendar.get(Calendar.HOUR_OF_DAY);

Gives the hour ranging from 0-24.

It does the conversion on its own. You don't need to tell it.

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

Will/Could change the point time this calendar object represents. (If it's 1:00PM you will have 1:00AM afterwards). This is true for GregorianCalendar (see comment to question by Peter Cetinski).

Btw/Hint imo you should use a DateFormat to ouput your preferred format.

like image 181
MartinK Avatar answered Sep 21 '22 01:09

MartinK