相关疑难解决方法(0)

获取两个日期之间的周数.

我在一个项目中工作,我在Date中有两种类型.我想计算这两个日期之间的周数.日期可能是不同的年份.对此有什么好的解决方案吗?

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

我不熟悉这个库,但我尝试做这样的事情:

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();
}
Run Code Online (Sandbox Code Playgroud)

但这完全错了......有什么建议吗?

java date jodatime

21
推荐指数
5
解决办法
4万
查看次数

获得一个月的第一个星期一

我希望得到特定月份/年的第一个星期一的日子.

是)我有的:

我基本上有两个int变量,一个代表年份,一个代表月份.

我想要的是:

我想知道本月的第一个星期一,最好是int或Integer值.

例如:

我有2014年和1月(1月),这个月的第一个星期一是6号,所以我想返回6.

问题:

我以为我可以这样做,Calendar但我已经无法设置只有年和月的日历.此外,我不知道如何实际返回月/年的第一个星期一Calendar.

我已经尝试过了:

Calendar cal = Calendar.getInstance();
cal.set(this.getYear(),getMonth(), 1);
int montag = cal.getFirstDayOfWeek();
for( int j = 0; j < 7; j++ ) {
    int calc = j - montag;
    if( calc < 0 ) {
        calc += 6;
    }
    weekDays[calc].setText(getDayString(calc));
}
Run Code Online (Sandbox Code Playgroud)

java

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

date ×1

jodatime ×1