1. 程式人生 > >java日期操作【持續更新中……】

java日期操作【持續更新中……】

1、得到系統當前時間:

java.util.Date dt=new java.util.Date();
System.out.print(dt);  //輸出結果是:Wed Aug 10 11:29:11 CST 2005

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
System.out.print(sdf.format(dt));  //輸出結果是:2005-08-10

2、jstl標籤 對日期格式化,按後面的格式進行輸出:<fmt:formatDate value="${…}" pattern="yyyy-MM-dd" />

輸出的結果為pattern的格式(格式可以自定義yyyy年MM月日)

3、Calendar 類獲得下個星期六  

    Calendar   cal   =   Calendar.getInstance();  

    cal.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY); 

    cal.add(Calendar.WEEK_OF_YEAR,1);

4、Calendar 類獲得上個星期天 

  Calendar   cal   =   Calendar.getInstance();   
  cal.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);   
  cal.add(Calendar.WEEK_OF_YEAR,-1);

5、根據月份取得當月第一天之前的(包括當天)的第一個星期六(公司eoa專案中載入月報用)

  public static Date getFirstSatudayOfMonth(int year, int month) {
       Calendar cal = GregorianCalendar.getInstance();
       cal.set(year, month, 1);(獲得的值為年份、月份)
       //cal.setTime(date);可以換成給定的日期則得到給定日期的星期六的日期
       cal.setFirstDayOfWeek(Calendar.SATURDAY);
       cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
       return cal.getTime();


 }

 6、String型別轉換為日期型別:
   利用org.apache.commons.lang.time.DateUtils
   String oec_date = "2008-07-15";
   Date select_day = DateUtils.parseDate(oec_date, new String[] { "yyyy-MM-dd" });
   轉成日期的型別

7、日期相減平分橫座標:(在生成柱狀圖和折線圖時用
 Long date_st_num = date_st.getTime();
 Long date_en_num = date_en.getTime();
 Long date_minus = date_en_num - date_st_num;

8、日期相減(兩日期相差多少天,月,年):

 Date d1 = DateUtils.parseDate(sd1, new String[] { "yyyy-MM-dd" });
 Date d2 = DateUtils.parseDate(sd2, new String[] { "yyyy-MM-dd" });
 long duration = d2.getTime() - d1.getTime();

      利用org.apache.commons.lang.time.DurationFormatUtils類
 DurationFormatUtils.formatPeriod(d1.getTime(), d2.getTime(), "d")
 DurationFormatUtils.formatPeriod(d1.getTime(), d2.getTime(), "M")
 DurationFormatUtils.formatPeriod(d1.getTime(), d2.getTime(), "y")
      和org.apache.commons.lang.time.DateUtils類
 DurationFormatUtils.formatDuration(duration, "d")
 DurationFormatUtils.formatDuration(duration, "M")//可能不行
 DurationFormatUtils.formatDuration(duration, "y")//

可能不行

9、日期相加或者減,判斷日期是否相等(個人覺得非常的實用
  利用org.apache.commons.lang.time.DateUtils
    日期相加或者減
    cur_week_friday = 星期五
    DateUtils.addDays(cur_week_friday, -7)結果為上個星期五的日期,減了7天
    日期是否相等
    DateUtils.isSameDay(日期1, 日期2)返回true或者false