繁体   English   中英

不正确的week_of_year

[英]incorrect week_of_year

具有下一个功能来获取一年中的一周:

static public Integer getWeek(Date date) {
    Calendar cal = Calendar.getInstance();
    cal.setMinimalDaysInFirstWeek(1);
    cal.setTime(date);
    Integer week = cal.WEEK_OF_YEAR;
    Integer month = cal.MONTH;
    if ((week == 1) && (month == 12)) week = 52;
    return week;
}

调用日期= 0.201.2013的函数

我在调试中看到的是:

  1. 日期= 2013年1月2日星期三00:00:00
  2. 周= 3
  3. 月= 2

我想得到:week = 1,month = 1。 对?

我哪里错了?

JRE 1.6

非常感谢。

Calendar.WEEK_OF_YEARCalendar.MONTH是Calendar用于查找字段的静态常量。 你要

Integer week = cal.get(Calendar.WEEK_OF_YEAR);
Integer month = cal.get(Calendar.MONTH);

另外,请注意,(我认为)一月被视为第0个月。

public final static int WEEK_OF_YEAR = 3; 在日历源中。

当您访问WEEK_OF_YEAR它将打印此字段的值,将其视为访问Calendar类的静态字段。

如果要获取星期,则需要执行Integer week = cal.get(Calendar.WEEK_OF_YEAR);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM