我在我的应用程序中使用日期选择器和时间选择器。我想设置页面加载的日期和时间。这可能吗?怎么会这样?
问问题
85049 次
6 回答
117
我解决了我的类似问题如下
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);
于 2011-12-09T20:43:41.670 回答
14
使用乔达时间
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);
希望有帮助。
J.P
于 2014-01-29T01:34:58.923 回答
7
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;
}
于 2012-11-28T16:45:31.450 回答
2
检查此如何使用日期选择器对话框。并在 onCreate() 中使用更新函数;如果按页面加载,您的意思是活动开始......希望它有所帮助。
于 2011-04-28T11:40:15.320 回答
1
检查这个。
使用showDialog(TIME_DIALOG_ID);
函数onCreate();
于 2011-04-28T12:43:08.883 回答
0
在 kotlin 中使用此代码
private fun setTime(hours: Int, minutes: Int) {
@Suppress("DEPRECATION")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
binding.timePickerLayout.timePicker.hour = hours
binding.timePickerLayout.timePicker.minute = minutes
} else {
binding.timePickerLayout.timePicker.currentHour = hours
binding.timePickerLayout.timePicker.currentMinute = minutes
}
}
于 2021-10-01T11:47:07.237 回答