你可以在GregorianCalendar日期设置AM/PM,或者它是你只能获得的东西

dav*_*veb 7 java time gregorian-calendar

我看了一下关于GregorianCalendar的java api,并没有看到任何在构造函数中设置am/pm的方法.你可以在GregorianCalendar日期设置AM/PM,或者只能在日历上使用get方法获得.它会自动处理所有这些吗?我正在寻找am/pm并将其输出到我的toString中,以获得具有日期对象的类.我打算在日历上使用get方法来获取它.我理解am/pm是一个0或1的int.

我还想知道所有小时是否都是24小时的格里高利并且它会自动确定上午和下午?

Mar*_*inK 36

Calendar.get(Calendar.HOUR);
Run Code Online (Sandbox Code Playgroud)

给出AM/PM格式的小时(0-12).

Calendar.get(Calendar.HOUR_OF_DAY);
Run Code Online (Sandbox Code Playgroud)

给出小时范围从0到24.

它自己进行转换.你不需要告诉它.

cal.set( Calendar.AM_PM, Calendar.AM )
Run Code Online (Sandbox Code Playgroud)

将/可以更改此日历对象表示的点时间.(如果是下午1:00,您将在之后的1:00 AM).这是真的GregorianCalendar(见Peter Cetinski对问题的评论).

顺便说一下,您应该使用a DateFormat来输出喜欢的格式.


Pet*_*ski 6

Calendar cal = new GreogorianCalendar();   
cal.set( Calendar.AM_PM, Calendar.AM );
Run Code Online (Sandbox Code Playgroud)