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

你可能感兴趣的:(java)