我在日期选择器选择日期和得到的东西像这样的EditText上:13/12/2014
但我要表明这样的:13 Dec 2014
日期时间格式化
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
public EditText activity_edittext;
public DatePickerFragment(EditText edit_text) {
activity_edittext = edit_text;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
activity_edittext.setText(String.valueOf(day) + "/" + String.valueOf(month + 1) + "/" + String.valueOf(year));
}
}
在相同的方式使用时间选择器,我得到的值一样这样的:21:12
,我必须表现出这样的事情:9:12 pm
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
public EditText activity_edittext;
public TimePickerFragment(EditText edit_text)
{
activity_edittext = edit_text;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
activity_edittext.setText(String.valueOf(hourOfDay) + ":" + String.valueOf(minute));
}
}
谢谢,我窃听为有用的,我用你的解决方案为DatePicker和神秘魔术师的解决方案的时间选择器,现在我很迷惑一个接受 – Sun 2014-12-08 08:39:37
答案似乎对你更好,你可以检查,如接受。 – 2014-12-08 08:45:18
这是更好的答案,因为它只适用于API,没有任何硬编码的字符串,也取决于系统区域设置,所以它是多语言 – mihail 2014-12-08 08:55:31