Java里的時間類以及函數


1.Java計算某一月份的最大天數

1 Calendar time=Calendar.getInstance();//使用默認時區和語言環境獲得一個日歷
2 time.clear();
3 time.set(Calendar.YEAR,year);
4 time.set(Calendar.MONTH,i-1);//注意Calendar對象默認一月是為零的
5 int day=time.getActualMaximum(Calendar.DAY_OF_YEAR);//獲得本月份的天數

注意:在使用set方法之前,必須先調用clear(),否則很多信息會繼承自系統當前的時間

2.Java中Calendar和Date的轉化

  (1)Calendar轉化為Date

 

1 Calendar cal=Calendar.getInstance();
2 Date date=cal.getTime();

 

  (2)Date轉換為Calendar

1 Date date=new Date();
2 Calendar cal=Calendar.getInstance();
3 cal.setTime();

3.Java格式化輸出日期時間

1 Date date=new Date();
2 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//設置日期時間格式
3 System.out.println(df.format(date));

4.Java計算一年中的第幾星期

  (1)計算某一天是一年中的第幾星期

1 Calendar cal=Calendar.getInstance();
2 cal.set(Calendar.YEAR,2012);
3 cal.set(Calendar.MONTH);
4 cal.set(Calendar.DAY_OF_MONTH,3);
5 int weekno=cal.get(Calendar.WEEK_OF_YEAR);

  (2)計算一年中的星期幾是幾號

1 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
2 Calendar cal=Calendar.getInstance();
3 cal.set(Calendar.YEAR,2012);
4 cal.set(Calendar.WEEK_OF_YEAR,1);
5 cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
6 System.out.println(df.format(cal.getTime()));

輸出結果為:

2012-01-02

5.add()和roll()的用法

  (1)add()方法

 1 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
 2 Calendar cal=Calendar.getInstance();
 3 cal.set(Calendar.YEAR,2012);//設置年份
 4 cal.set(Calendar.MONTH,5);//設置月份
 5 cal.set(Calendar.DAY_OF_MONTH,5);
 6 cal.add(Calendar.DATE,-4);
 7 Date date=cal.getTime();
 8 System.out.println(df.format(date));
 9 cal.add(Calendar.DATE,4);
10 date=cal.getTime();
11 System.out.println(df.format(date));

輸出結果為:

2012-06-05

2012-06-01

  (2)roll()方法

 1 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
 2 Calendar cal=Calendar.getInstance();
 3 cal.set(Calendar.YEAR, 2012);
 4 cal.set(Calendar.MONTH,8);
 5 cal.set(Calendar.DAY_OF_MONTH, 3);
 6 cal.roll(Calendar.DATE,-4);
 7 Date date=cal.getTime();
 8 System.out.println(df.format(date));
 9 cal.roll(Calendar.DATE,4);
10 date=cal.getTime();
11 System.out.println(df.format(date));

輸出結果為:

2012-09-29

2012-09-03

可見,roll()方法在本月內循環,一般使用add()方法;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM