Я пытаюсь получить время с точностью до минуты из объекта Calendar, построенного на основе четырех входных данных: появление в месяце (3-й), дне (четверг), часе (1), минуте (30) и утра/после полудня. Кроме того, если время в прошлом, месяц должен увеличиться на единицу.
Как установить в календаре это время?
Похоже, этот код не устанавливает день. Однако часы, минуты и am/pm установлены правильно.
Настройка календаря:
long getTime() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, getDayOfWeekInMonth());
calendar.set(Calendar.DAY_OF_WEEK, getDayOfWeek());
calendar.set(Calendar.HOUR, getHour());
calendar.set(Calendar.MINUTE, getMinute());
calendar.set(Calendar.AM_PM, getAmPm());
if (System.currentTimeMillis() > calendar.getTimeInMillis()) {
calendar.add(Calendar.MONTH, 1);
}
return calendar.getTimeInMillis();
}
int getDayOfWeekInMonth() {
return weekOfMonthSpinner.getSelectedItemPosition() + 1;
}
int getDayOfWeek() {
switch(dayOfWeekSpinner.getSelectedItemPosition()) {
case 0:
return Calendar.SUNDAY;
case 1:
return Calendar.MONDAY;
case 2:
return Calendar.TUESDAY;
case 3:
return Calendar.WEDNESDAY;
case 4:
return Calendar.THURSDAY;
case 5:
return Calendar.FRIDAY;
case 6:
return Calendar.SATURDAY;
default:
return 0;
}
}
int getHour() {
return Integer.parseInt((String) hourSpinner.getSelectedItem());
}
int getMinute() {
return Integer.parseInt((String) minuteSpinner.getSelectedItem());
}
int getAmPm() {
switch(amPmSpinner.getSelectedItemPosition()) {
case 0:
return Calendar.AM;
case 1:
return Calendar.PM;
default:
return 0;
}
}
Настройка счетчика:
1st
2nd
3rd
4th
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
1
2
3
4
5
6
7
8
9
10
11
12
00
05
10
15
20
25
30
35
40
45
50
55
am
pm
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.week_of_month, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
weekOfMonthSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.day_of_week, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
dayOfWeekSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.hour, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
hourSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.minute, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
minuteSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.am_pm, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
amPmSpinner.setAdapter(adapter);
Подробнее здесь: https://stackoverflow.com/questions/148 ... y-in-month
Установить календарь на X день в месяце ⇐ Android
Форум для тех, кто программирует под Android
1767834031
Anonymous
Я пытаюсь получить время с точностью до минуты из объекта Calendar, построенного на основе четырех входных данных: появление в месяце (3-й), дне (четверг), часе (1), минуте (30) и утра/после полудня. Кроме того, если время в прошлом, месяц должен увеличиться на единицу.
Как установить в календаре это время?
Похоже, этот код не устанавливает день. Однако часы, минуты и am/pm установлены правильно.
Настройка календаря:
long getTime() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, getDayOfWeekInMonth());
calendar.set(Calendar.DAY_OF_WEEK, getDayOfWeek());
calendar.set(Calendar.HOUR, getHour());
calendar.set(Calendar.MINUTE, getMinute());
calendar.set(Calendar.AM_PM, getAmPm());
if (System.currentTimeMillis() > calendar.getTimeInMillis()) {
calendar.add(Calendar.MONTH, 1);
}
return calendar.getTimeInMillis();
}
int getDayOfWeekInMonth() {
return weekOfMonthSpinner.getSelectedItemPosition() + 1;
}
int getDayOfWeek() {
switch(dayOfWeekSpinner.getSelectedItemPosition()) {
case 0:
return Calendar.SUNDAY;
case 1:
return Calendar.MONDAY;
case 2:
return Calendar.TUESDAY;
case 3:
return Calendar.WEDNESDAY;
case 4:
return Calendar.THURSDAY;
case 5:
return Calendar.FRIDAY;
case 6:
return Calendar.SATURDAY;
default:
return 0;
}
}
int getHour() {
return Integer.parseInt((String) hourSpinner.getSelectedItem());
}
int getMinute() {
return Integer.parseInt((String) minuteSpinner.getSelectedItem());
}
int getAmPm() {
switch(amPmSpinner.getSelectedItemPosition()) {
case 0:
return Calendar.AM;
case 1:
return Calendar.PM;
default:
return 0;
}
}
Настройка счетчика:
1st
2nd
3rd
4th
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
1
2
3
4
5
6
7
8
9
10
11
12
00
05
10
15
20
25
30
35
40
45
50
55
am
pm
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.week_of_month, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
weekOfMonthSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.day_of_week, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
dayOfWeekSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.hour, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
hourSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.minute, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
minuteSpinner.setAdapter(adapter);
adapter = ArrayAdapter.createFromResource(getActivity(), R.array.am_pm, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
amPmSpinner.setAdapter(adapter);
Подробнее здесь: [url]https://stackoverflow.com/questions/14828814/set-calendar-to-x-day-in-month[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия