获取两个日期之间的星期数。 [英] Get the number of weeks between two Dates.

查看:149
本文介绍了获取两个日期之间的星期数。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在工程中工作,在Date中有两种类型。我想计算这两个日期之间的星期数。日期可能在不同的年份。有没有什么好的解决方案呢?



我已经试图用其他主题中提出的Joda-time来实现这一点。



这个图书馆很熟悉,但是我试图这样做:

  public static int getNumberOfWeeks(Date f,Date l){ 
日历c1 = Calendar.getInstance();
日历c2 = Calendar.getInstance();
c1.setTime(f);
c2.setTime(l);
DateTime start = new DateTime(c1.YEAR,c1.MONTH,c1.DAY_OF_MONTH,0,0,0,0);
DateTime end = new DateTime(c2.YEAR,c2.MONTH,c2.DAY_OF_MONTH,0,0,0,0);
间隔间隔=新间隔(开始,结束);
期间p = interval.toPeriod();
return p.getWeeks();
}

但这是完全错误的...任何建议?

解决方案

joda时间

  DateTime dateTime1 = new DateTime(date1); 
DateTime dateTime2 = new DateTime(date2);

int weeks = Weeks.weeksBetween(dateTime1,dateTime2).getWeeks();


Im working in a project and I got two types in Date. I want to calculate the number of weeks between these two dates. The dates can be in diffrent years. Is there any good solution for this?

I have tried to implemenent this with Joda-time which was suggested in other topics..

Im not familar with this library, but I tried to do something like this:

public static int getNumberOfWeeks(Date f, Date l){
    Calendar c1 = Calendar.getInstance();
    Calendar c2 = Calendar.getInstance();
    c1.setTime(f);
    c2.setTime(l);
    DateTime start = new DateTime(c1.YEAR, c1.MONTH, c1.DAY_OF_MONTH, 0, 0, 0, 0);
    DateTime end   = new DateTime(c2.YEAR, c2.MONTH, c2.DAY_OF_MONTH, 0, 0, 0, 0);
    Interval interval = new Interval(start, end);
    Period p = interval.toPeriod();
    return p.getWeeks();
}

But this is completely wrong... any suggestions ?

解决方案

It is pretty easy with joda time:

DateTime dateTime1 = new DateTime(date1);
DateTime dateTime2 = new DateTime(date2);

int weeks = Weeks.weeksBetween(dateTime1, dateTime2).getWeeks();

这篇关于获取两个日期之间的星期数。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆