Работа С календарем(Calendar)

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Работа С календарем(Calendar)

Сообщение Максим Янчий » 16 авг 2013, 10:22

Ребят, подскажите как узнать текущий день недели. Программе в зависимости от этого нужно сделать определенное действие, потому что у меня он вроде бы получает день недели, но когда я делаю Выбор(switch) он выбирает только значение 4(четверг), и его не волнует, что сейчас может быть вообще понедельник.
Calendar.getInstance();

Код: Выделить всё

 Calendar c = Calendar.getInstance();
	      c.set(year, month, day);
	      int dow = c.get(Calendar.DAY_OF_WEEK);
	      
    switch(dow){
    case 4:
	///
	break;
case 5:
///
break;
 
    }
Очень хочу знать в чем проблема. Заранее благодарен!

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Работа С календарем(Calendar)

Сообщение Mikhail_dev » 16 авг 2013, 11:13

В документации написано что предыдущие значения сохраняются. Если это не требуется, то стоит вызвать перед изменением значения, метод clear.
Лично я меняю через метод setTimeInMillis значение.
И еще, из адского треша, в Calendar месяца идут с 0 значения, т.е. другими словами, декабрь = 11.

Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Re: Работа С календарем(Calendar)

Сообщение Максим Янчий » 16 авг 2013, 11:30

Спасибо большое, я разобрался!

Максим Янчий
Сообщения: 77
Зарегистрирован: 21 июл 2013, 17:33

Re: Работа С календарем(Calendar)

Сообщение Максим Янчий » 17 авг 2013, 09:28

Прошу прощения, но метод clear() нужно вызвать перед строкой c.set(year, month, day) или перед int dow = c.get(Calendar.DAY_OF_WEEK)? теперь он у меня зациклился на пятнице, а у уж думал, что проблема ушла(

Код: Выделить всё

 Calendar c = Calendar.getInstance();
		 c.clear();
	      c.set(year, month, day);
	      
	      int dow = c.get(Calendar.DAY_OF_WEEK);
	      
	        switch(dow){
	     
	        case 6:
	        ..
	        	break;
	        case 5:
	        	..
	        	break;

Ответить