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

我也想知道,如果所有的时间都是24小时在格里高利,它会自动确定上午和下午?

有帮助吗?

解决方案

Calendar.get(Calendar.HOUR);

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

Calendar.get(Calendar.HOUR_OF_DAY);

给出小时范围从0-24。

它自己做转换。你不需要告诉它。

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

威尔/可以 改变 此日历对象表示的点时间。(如果是下午1:00,之后你将有凌晨1:00)。这是真的 GregorianCalendar (见Peter Cetinski的评论提问)。

顺便说一句/提示imo你应该使用 DateFormat 到output 你的 首选格式。

其他提示

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top