六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 12|回复: 0

java中求两个日期之间的天数

[复制链接]

升级  73.25%

801

主题

801

主题

801

主题

探花

Rank: 6Rank: 6

积分
2465
 楼主| 发表于 2013-2-3 10:31:06 | 显示全部楼层 |阅读模式
收藏一个常用的代码段,那就是java中求两个日期间的天数,常见于日历中的两个
日期(yyyy-mm-dd)格式,要求它们之间的相差的天数,例子如下:

  Calendar startCalendar = Calendar.getInstance();//dstar为yyyy-MM-dd格式的字符串startCalendar.setTime((new SimpleDateFormat("yyyy-MM-dd")).parse(dstar));       Calendar endCalendar = Calendar.getInstance();       endCalendar.setTime((new SimpleDateFormat("yyyy-MM-dd")).parse(dend));  int days=new BigDecimal(getDaysBetween(startCalendar, endCalendar)));

其中getDaysBetween方法为:
public int getDaysBetween(Calendar d1, Calendar d2) {if (d1.after(d2)) {java.util.Calendar swap = d1;d1 = d2;d2 = swap;}int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);int y2 = d2.get(Calendar.YEAR);if (d1.get(Calendar.YEAR) != y2) {d1 = (Calendar) d1.clone();do {days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);// 得到当年的实际天数d1.add(Calendar.YEAR, 1);} while (d1.get(Calendar.YEAR) != y2);}return days;}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表