2013-02-27 3 views
0

У меня есть этот код в моем проектеПочему этот код генерирует неверные данные?

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

и когда я проверяю его значение Воя выводит 3 теперь в настоящее время 25 февраля 2013, и я знаю, что номер недели не три. Я сохраняю это значение, чтобы помочь установить время автоматического обновления, поэтому я могу принудительно обновить, чтобы убедиться, что устройство имеет самые последние данные. Между периодами обновления некоторые важные данные хранятся локально. Теперь мне нужен надежный фиксированный временной интервал, и я выбирал один раз в неделю в основном, если НЕДЕЛЯ ГОДА не совпадает с сохраненным значением для данных НЕДЕЛЯ ГОДА, которое необходимо обновить при следующей возможности, а затем сохранить текущую НЕДЕЛЯ ГОДА на устройстве. Я начал кодировать это в течение 1 недели, поэтому я не перешел на новую неделю, поэтому я не уверен, что он работает правильно, но значение трех пугает меня.

ответ

4

WEEK_OF_YEAR является флаг, используемый для метода Get(). Это значение никогда не меняется. Вы можете использовать его как это:

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

Спасибо вам, что теперь работает eclipse обманул меня за это, он сказал, что я могу использовать формат, который я использовал, но на самом деле он был неправильным. Любая идея, что представляла это 3, представляла –

+0

3 - это просто флаг: это значит, что Calendar.get (int flag) может сказать {if (flag == 3) {return some_method_to_calculate_the_week(); } – John3136

2

Calendar.WEEK_OF_YEAR - константа, которая будет использоваться для указания того, какое поле будет возвращено из вашего экземпляра Calendar. Вместо присвоения значения фиксированного значения, вам необходимо позвонить Calendar#get:

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

Вам нужно, чтобы получить его, как этот

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

Calendar.WEEK_OF_YEAR статическая константа.

Вам нужно позвонить calendar.get(Calendar.WEEK_OF_YEAR)