Я использую сборщик дат и выбор времени в моей заявке. Я хочу установить дату и время загрузки страницы. Это возможно? Как это так?
Выбор времени и даты для выбора даты и времени в android
Ответ 1
Я решил аналогичную проблему, как показано ниже.
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int min = cal.get(Calendar.MINUTE);
datePicker.updateDate(year, month, day);
timePicker.setCurrentHour(hour);
timePicker.setCurrentMinute(min);
Ответ 2
Использование JodaTime
JodaTime - чрезвычайно популярная и полезная библиотека для обработки дат и времени в Java. Если вы не используете его, я настоятельно рекомендую взглянуть на него.
Вот простой пример того, как я устанавливаю DatePicker
и TimePicker
из объекта DateTime
, который может быть текущей датой или любой датой из прошлого или будущего (атрибут в этом случае называется inspected_at
):
DatePicker datePicker = (DatePicker) findViewById(R.id.inspected_at_date);
TimePicker timePicker = (TimePicker) findViewById(R.id.inspected_at_time);
DateTime inspected_at = DateTime.now() // Typically pulled from DB.
int year = inspected_at.getYear() ;
int month = inspected_at.getMonthOfYear() - 1; // Need to subtract 1 here.
int day = inspected_at.getDayOfMonth();
int hour = inspected_at.getHourOfDay();
int minutes = inspected_at.getMinuteOfHour();
datePicker.updateDate(year, month, day); // Set date.
timePicker.setCurrentHour(hour); // Set time.
timePicker.setCurrentMinute(minutes);
Надеюсь, что это поможет.
В JP
Ответ 3
Для DatePicker существует метод updateDate
.
Вот что я использую в одном из моих приложений, не используя диалог:
//set datePicker to position
String date_saved = project_row.getString(
project_row.getColumnIndex("project_startdate"));
int day = Integer.parseInt(date_saved.substring(0,2));
int year = Integer.parseInt(date_saved.substring(5,9));
String month = date_saved.substring(2,5);
int month_code = getMonthInt(month);
project_startdate_data = (DatePicker) findViewById(R.id.project_startdate_data);
project_startdate_data.updateDate(year, month_code, day);
где project_row
- мой курсор, а дата сохраняется в столбце project_startdate
, как 22MAY2012
и вам это нужно:
private int getMonthInt(String month) {
if (month.equalsIgnoreCase("JAN")) return 0;
if (month.equalsIgnoreCase("FEB")) return 1;
if (month.equalsIgnoreCase("MAR")) return 2;
if (month.equalsIgnoreCase("APR")) return 3;
if (month.equalsIgnoreCase("MAY")) return 4;
if (month.equalsIgnoreCase("JUN")) return 5;
if (month.equalsIgnoreCase("JUL")) return 6;
if (month.equalsIgnoreCase("AUG")) return 7;
if (month.equalsIgnoreCase("SEP")) return 8;
if (month.equalsIgnoreCase("OCT")) return 9;
if (month.equalsIgnoreCase("NOV")) return 10;
if (month.equalsIgnoreCase("DEC")) return 11;
//return -1 if month code not found
return -1;
}
Ответ 4
Отметьте Как использовать диалог выбора даты. и использовать функцию обновления в onCreate(); если при загрузке страницы вы имеете в виду начало активности... надеюсь, что это поможет.
Ответ 5
Отметьте это.
Используйте showDialog(TIME_DIALOG_ID);
функцию в onCreate();