Java 为什么此代码生成不正确的数据?

Java 为什么此代码生成不正确的数据?,java,android,timestamp,Java,Android,Timestamp,我的项目中有这个代码 Calendar subval = Calendar.getInstance(); final int WOY= subval.WEEK_OF_YEAR; 当我检查WOY的值时,它输出3,现在是2013年2月25日,我知道周数不是3。我存储此值是为了帮助设置自动刷新时间,以便能够强制刷新以确保设备具有最新数据。在刷新周期之间,一些关键数据存储在本地。现在我需要一个可靠的固定时间段,如果一年中的一周与存储的一年中的一周设置数据的值不同,我基本上选择一周一次,

我的项目中有这个代码

    Calendar subval = Calendar.getInstance();
    final int WOY= subval.WEEK_OF_YEAR;
当我检查WOY的值时,它输出3,现在是2013年2月25日,我知道周数不是3。我存储此值是为了帮助设置自动刷新时间,以便能够强制刷新以确保设备具有最新数据。在刷新周期之间,一些关键数据存储在本地。现在我需要一个可靠的固定时间段,如果一年中的一周与存储的一年中的一周设置数据的值不同,我基本上选择一周一次,以便在下一次机会刷新,然后将当前一年中的一周存储在设备上。我在1周内开始编写此代码,因此我没有过渡到新的一周,因此我不确定它是否正常工作,但三的值让我感到害怕。

是一个常量,用于指定从
日历
实例返回哪个字段。您需要调用
Calendar\get
,而不是将该值指定给固定值:

int WOY = subval.get(Calendar.WEEK_OF_YEAR);

WEEK\u OF_YEAR是用于get()方法的标志。它的价值永远不会改变。 您可以这样使用它:

Calendar subval = Calendar.getInstance();
final int WOY= subval.get(Calendar.WEEK_OF_YEAR);

你需要这样做

 Calendar subval = Calendar.getInstance();
   int year=subval.get(Calender.Calendar.WEEK_OF_YEAR);

Calendar.WEEK是一个静态常量


您需要调用
calendar.get(calendar.WEEK\u OF \u YEAR)
子类根据java oracle文档定义一年中第一周之前的几天中的WEEK\u OF \u YEAR


请看:年度最佳周

谢谢,它现在可以工作了,eclipse在这一次愚弄了我,它说我可以使用我使用的格式,但实际上它是不正确的。任何关于3代表什么的想法3只是一个标志:它是这样的,Calendar.get(int标志)可以说{if(flag==3){return some_method_to_calculate_the_week();}