Calendar.getInstance() 䏿è·å¾çå®ä¾å°±æ¯ä¸ä¸ª "GreogrianCalendar" 对象(ä¸éè¿ new GregorianCalendar() è·å¾çç»æä¸è´)ã #Calendar ä¸ Date çè½¬æ¢ Calendar calendar = Calendar.getInstance(); // ä»ä¸ä¸ª Calendar 对象ä¸è·å Date 对象 Date date = calendar.getTime(); // å° Date 对象ååºå°ä¸ä¸ª Calendar 对象ä¸ï¼ // Calendar/GregorianCalendar 没ææé 彿°å¯ä»¥æ¥å Date 对象 // æä»¥æä»¬å¿ éå è·å¾ä¸ä¸ªå®ä¾ï¼ç¶å设置 Date 对象 calendar.setTime(date); #注æçäºé¡¹ï¼ ##1. Calendar ç set() æ¹æ³ set(int field, int value) - æ¯ç¨æ¥è®¾ç½®"å¹´/æ/æ¥/å°æ¶/åé/ç§/å¾®ç§"çå¼ field çå®ä¹å¨ Calendar ä¸ set(int year, int month, int day, int hour, int minute, int second) 使²¡æ set(int year, int month, int day, int hour, int minute, int second, int millisecond) åé¢ set(int,int,int,int,int,int) æ¹æ³ä¸ä¼èªå¨å° MilliSecond æ¸ ä¸º 0ã å¦å¤ï¼æä»½çèµ·å§å¼ä¸ºï¼è䏿¯ï¼ï¼æä»¥è¦è®¾ç½®å «ææ¶ï¼æä»¬ç¨ï¼è䏿¯8ã calendar.set(Calendar.MONTH, 7); æä»¬é常éè¦å¨ç¨åºé»è¾ä¸å°å®æ¸ 为 0ï¼ Calendar 䏿¯é©¬ä¸å°±å·æ°å ¶å é¨çè®°å½ å¨ Calendar çæ¹æ³ä¸ï¼get() å add() ä¼è®© Calendar ç«å»å·æ°ãSet() çè¿ä¸ªç¹æ§ä¼ç»æä»¬çå¼å带æ¥ä¸äºææ³ä¸å°çç»æã ##add() ä¸ roll() çåºå« add() çåè½é常强大ï¼add å¯ä»¥å¯¹ Calendar çåæ®µè¿è¡è®¡ç®ã妿éè¦åå»å¼ï¼é£ä¹ä½¿ç¨è´æ°å¼å°±å¯ä»¥äºï¼å¦ add(field, -value)ã add() æä¸¤æ¡è§åï¼ å½è¢«ä¿®æ¹çåæ®µè¶ åºå®å¯ä»¥çèå´æ¶ï¼é£ä¹æ¯å®å¤§çåæ®µä¼èªå¨ä¿®æ£ãå¦ï¼ Calendar cal1 = Calendar.getInstance(); cal1.set(2000, 7, 31, 0, 0 , 0); //2000-8-31 cal1.add(Calendar.MONTH, 1); //2000-9-31 => 2000-10-1ï¼å¯¹åï¼ System.out.println(cal1.getTime()); //ç»ææ¯ 2000-9-30 å¦ä¸ä¸ªè§åæ¯ï¼å¦ææ¯å®å°çåæ®µæ¯ä¸å¯åçï¼ç± Calendar çå®ç°ç±»å³å®ï¼ï¼é£ä¹è¯¥å°å段ä¼ä¿®æ£å°ååæå°çå¼ã 以ä¸é¢çä¾åï¼9-31 å°±ä¼åæ 9-30ï¼å 为ååæå°ã Roll() çè§ååªæä¸æ¡ï¼ å½è¢«ä¿®æ¹çåæ®µè¶ åºå®å¯ä»¥çèå´æ¶ï¼é£ä¹æ¯å®å¤§çåæ®µä¸ä¼è¢«ä¿®æ£ãå¦ï¼ Calendar cal1 = Calendar.getInstance(); cal1.set(1999, 5, 6, 0, 0, 0); //1999-6-6, 卿¥ cal1.roll(Calendar.WEEK_OF_MONTH, -1); //1999-6-1, å¨äº cal1.set(1999, 5, 6, 0, 0, 0); //1999-6-6, 卿¥ cal1.add(Calendar.WEEK_OF_MONTH, -1); //1999-5-30, 卿¥ WEEK_OF_MONTH æ¯ MONTH åæ®µå°ï¼æä»¥ roll ä¸è½ä¿®æ£ MONTH åæ®µã