首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java,计算两个日期之间的天数

Java,计算两个日期之间的天数
EN

Stack Overflow用户
提问于 2011-08-18 14:03:44
回答 9查看 329.7K关注 0票数 73

可能重复:

Calculating the Difference Between Two Java Date Instances

在Java中,我想计算两个日期之间的天数。

在我的数据库中,它们被存储为DATE数据类型,但在我的代码中,它们是字符串。

我想计算这两个字符串之间的天数。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-08-18 14:07:54

首先,您应该只在必要时才将它们作为字符串处理。大多数情况下,您应该在实际描述您正在处理的数据的数据类型中使用它们。

我建议您使用Joda Time,它是一个比Date/Calendar好得多的API。在这种情况下,听起来应该使用LocalDate类型。然后,您可以使用:

int days = Days.daysBetween(date1, date2).getDays();
票数 137
EN

Stack Overflow用户

发布于 2014-06-11 21:16:02

Java8及更高版本:ChronoUnit.between

使用ChronoUnit实例以不同的单位(天、月、秒)计算时间量。

例如:

ChronoUnit.DAYS.between(startDate,endDate)
票数 59
EN

Stack Overflow用户

发布于 2011-08-18 14:12:46

试试这段代码

     Calendar cal1 = new GregorianCalendar();
     Calendar cal2 = new GregorianCalendar();

     SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");

     Date date = sdf.parse("your first date");
     cal1.setTime(date)
     date = sdf.parse("your second date");
     cal2.setTime(date);

    //cal1.set(2008, 8, 1); 
     //cal2.set(2008, 9, 31);
     System.out.println("Days= "+daysBetween(cal1.getTime(),cal2.getTime()));

此函数

     public int daysBetween(Date d1, Date d2){
             return (int)( (d2.getTime() - d1.getTime()) / (1000 * 60 * 60 * 24));
     }
票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7103064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档