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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值