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