Java中日曆類(Calendar類)的用途如下: Calendar類的靜態方法getInstance()可以初始化一個日曆物件:Calendar now = Calendar.getInstance(); 可以使用下面三個方法把日曆定到任何一個時間: set(int year ,int month,int date) ; set(int year ,int month,int date,int hour,int minute) ; set(int year ,int month,int date,int hour,int minute,int second) ; 如果想獲得年份、月份、小時等資訊可以使用: Now.get(Calendar.Month);//這樣的方法 0表示一月,1表示二月 get(Calendar.DAY_OF_MONTH);//獲得這個月的第幾天 get(Calendar.DAY_OF_WEEK);//獲得這個星期的第幾天 get(Calendar.DAY_OF_YEAR);//獲得這個年的第幾天 getTimeMillis();//獲得當前時間的毫秒錶示 1.計算某一月份的最大天數 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar物件預設一月為0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天數 注:在使用set方法之前,必須先clear一下,否則很多資訊會繼承自系統當前時間 2.Calendar和Date的轉化 (1) Calendar轉化為Date Calendar cal=Calendar.getInstance(); Date date=cal.getTime(); (2) Date轉化為Calendar Date date=new Date(); Calendar cal=Calendar.getInstance(); cal.setTime(date); 3.格式化輸出日期時間 Date date=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(df.format(date)); 4.計算相隔天數的方法 public int getDaysBetween (Calendar d1, Calendar d2){ if (d1.after(d2)){ // swap dates so that d1 is start and d2 is end java.util.Calendar swap = d1; d1 = d2; d2 = swap; } int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); int y2 = d2.get(Calendar.YEAR); if (d1.get(Calendar.YEAR) != y2){ d1 = (Calendar) d1.clone(); do{ days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到當年的實際天數 d1.add(Calendar.YEAR, 1); } while (d1.get(Calendar.YEAR) != y2); } return days; }
Java中日曆類(Calendar類)的用途如下: Calendar類的靜態方法getInstance()可以初始化一個日曆物件:Calendar now = Calendar.getInstance(); 可以使用下面三個方法把日曆定到任何一個時間: set(int year ,int month,int date) ; set(int year ,int month,int date,int hour,int minute) ; set(int year ,int month,int date,int hour,int minute,int second) ; 如果想獲得年份、月份、小時等資訊可以使用: Now.get(Calendar.Month);//這樣的方法 0表示一月,1表示二月 get(Calendar.DAY_OF_MONTH);//獲得這個月的第幾天 get(Calendar.DAY_OF_WEEK);//獲得這個星期的第幾天 get(Calendar.DAY_OF_YEAR);//獲得這個年的第幾天 getTimeMillis();//獲得當前時間的毫秒錶示 1.計算某一月份的最大天數 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar物件預設一月為0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天數 注:在使用set方法之前,必須先clear一下,否則很多資訊會繼承自系統當前時間 2.Calendar和Date的轉化 (1) Calendar轉化為Date Calendar cal=Calendar.getInstance(); Date date=cal.getTime(); (2) Date轉化為Calendar Date date=new Date(); Calendar cal=Calendar.getInstance(); cal.setTime(date); 3.格式化輸出日期時間 Date date=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(df.format(date)); 4.計算相隔天數的方法 public int getDaysBetween (Calendar d1, Calendar d2){ if (d1.after(d2)){ // swap dates so that d1 is start and d2 is end java.util.Calendar swap = d1; d1 = d2; d2 = swap; } int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); int y2 = d2.get(Calendar.YEAR); if (d1.get(Calendar.YEAR) != y2){ d1 = (Calendar) d1.clone(); do{ days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到當年的實際天數 d1.add(Calendar.YEAR, 1); } while (d1.get(Calendar.YEAR) != y2); } return days; }