计算两个日期之间天数的简单方法?

时间:2015-05-17 17:49:16

标签: java date

我知道有很多类似的问题,但没有一个专门解决我的问题,它是一个单项目,我们不允许使用高级/外部的东西。

所以基本上目的是计算出租的产品及其退回的产品是否已经过了客户可以保留的时间限制X,如果预期的退货日期是星期六或星期日,它应该是跳到下一个星期一(我可以管理这个简单的逻辑)。

public void newRent(Client client, Product product){
    SomeDateFormat rentDate = SomeDateFormat.today();
    SomeDateFormat expectedReturnDate;
}

...

public void returnProduct(Client client, Product product){
    int diffDays = SomeDateFormat.today() - product.getRentDay();
}

3 个答案:

答案 0 :(得分:4)

你可以试试这个:

SimpleDateFormat testDate = new SimpleDateFormat("dd MM yyyy");
String timeString1 = "01 01 1990";
String timeString2 = "30 05 1990";

    Date dateTime1 = myFormat.parse(timeString1 );
    Date dateTime2 = myFormat.parse(timeString2 );
    long diff = dateTime2.getTime() - dateTime1.getTime();
    System.out.println ("Days between: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));

答案 1 :(得分:2)

您可以使用以下代码段 -

date1

此处date2Date的类型为public class BlogPost { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public DateTime DateTime { get; set; } public List<PostComment> Comments { get; set; } } public class PostComment { public int Id { get; set; } public BlogPost ParentPost { get; set; } public string Content { get; set; } public DateTime DateTime { get; set; } }

答案 2 :(得分:1)

这应该有用;

public long getDays(Date get, Date ret) {

    Calendar cal = Calendar.getInstance();
    cal.setTime(ret);

    //Monday stuff here
    int day = cal.get(java.util.Calendar.DAY_OF_WEEK);
    if (day == 1) {
        cal.add(Calendar.DATE, 1);
    } else if (day == 7) {
        cal.add(Calendar.DATE, 2);
    }

    ret = cal.getTime();

    long diff = ret.getTime() - get.getTime();
    return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
}