GregorianCalendar calendar=new GregorianCalendar();

int m=calendar.MINUTE;

int h=calendar.DAY_OF_MONTH;
System.out.print(h);
为什么获取额时间都和当前时间不一致呢,是不是为用错了,初学,问题幼稚,见谅,见谅

解决方案 »

  1.   

    calendar.MINUTE是一个静态常量字段,是GregorianCalendar从Calendar继承的.它的用处请看下面示例:import java.util.*;
    public class Test{
        public static void main(String args[]){
            GregorianCalendar calendar=new GregorianCalendar();
            System.out.println("时:"+calendar.get(GregorianCalendar.HOUR_OF_DAY)+" 分:"+calendar.get(GregorianCalendar.MINUTE));
        }
    }
      

  2.   

    calendar.MINUTE和calendar.DAY_OF_MONTH都是常量,固定值,它并不代表时间,你任何时间取值都一样。如果要取当前时间请参考2楼代码。
      

  3.   

    2楼的回复已经回答了问题,但是我再补充一点,用2楼的代码输出的时间是格林威治时间,而不是北京时间,会有8个小时的时差,如果想要输出当地时间(中国的话就是北京时间),代码当中的
    GregorianCalendar calendar=new GregorianCalendar();
    需要更改为Calendar calendar=Calendar.getInstance();//获得系统环境的默认时区
      

  4.   

    calendar.MINUTE是一个静态常量字段
    GregorianCalendar calendar=new GregorianCalendar();
    int calendar.get(GregorianCalendar.MINUTE);用get方配合静态常量字段获取值
      

  5.   


     System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
     System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
     System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
      

  6.   

    get()方法是从Calender继承过来的。