dateutil 日期计算_时间处理的工具类 DateUtil

public final class DateUtil {

/**

* 时间转换成字符串

*

* @param date

*            时间

* @param format

*            格式

* @return

*/

public static String format(Date date, String format) {

return new SimpleDateFormat(format).format(date);

}

/**

* 字符串转换成日期

*

* @param dateString

*            时间的字符串格式

* @param format

*            格式

* @return

* @throws ParseException

*/

public static Date parse(String dateString, String format) throws ParseException {

return new SimpleDateFormat(format).parse(dateString);

}

/**

* 取得离date时间相差几天的日期

*

* @param date

*            被相比的日期

* @param days

*            相差的几天(正数表示向后差几天,负数表示向前差几天)

* @return

*/

public static Date getLeaveDay(Date date, int days) {

Calendar cal = Calendar.getInstance();

cal.setTime(date);

cal.add(cal.DAY_OF_YEAR, days);

return cal.getTime();

}

/**

* 根据日期算年龄

*

* @param birthDate

* @return

*/

public static int countAge(Date birthDate) {

Calendar birthday = new GregorianCalendar();

birthday.setTime(birthDate);

Calendar currtDate = new GregorianCalendar();

int age = currtDate.get(Calendar.YEAR) - birthday.get(Calendar.YEAR);

//取得周岁,即如果生日还没过,那么将年龄减1

birthday.add(Calendar.YEAR, age);

if (birthday.after(currtDate)) {

age--;

}

return age;

}

public static Date addHour(Date date,int hours) {

Calendar cal = new GregorianCalendar();

cal.setTime(date);

cal.add(Calendar.HOUR, hours);

return cal.getTime();

}

/**

* 取得两个日期的期间

*

* @param beginDate

* @param endDate

* @return 格式0Y00M000D

*/

public static String getPeriod(Date beginDate, Date endDate) {

GetDulTime getDulTime = new GetDulTime();

String s = getDulTime.CalDulTime(beginDate,endDate); //计算日期的区间

return s;

}

public static java.sql.Date toSqlDate(Date date){

if(date!=null){

return new java.sql.Date(date.getTime());

}

return null;

}

public static void main(String[] args) throws ParseException {

System.out.println(DateUtil.countAge(DateUtil.parse("19900913", "yyyyMMdd")));

System.out.println(DateUtil.addHour(new Date(),5).toLocaleString());

System.out.println(DateUtil.getPeriod(DateUtil.parse("20120229", "yyyyMMdd"), DateUtil.parse("20130229", "yyyyMMdd")));

}

}

分享到:

2012-04-19 15:09

浏览 1060

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值