在 Android 中使用 SimpleDateFormat 从 DatePickerDialog 更改 DateFormat
Change DateFormat from DatePickerDialog using SimpleDateFormat in Android
我是 Java 和 Android 的新手。我从 DatePickerDialog 上的不同教程(主要是官方教程)中获取了以下代码。
现在我希望所选日期采用特定格式 ("EE, DD.MM.YY") 并尝试使用 SimpleDateFormat 执行此操作,但我不知道从哪里获取所选日期,因为我 "only" 有年月和日期作为参数:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
public Date date;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for 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);
date = c.getTime();
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
TextView textView = (TextView) getActivity().findViewById(R.id.textView_Date);
String selectedDate = String.valueOf(day) + "." + String.valueOf(month) + "." + String.valueOf(year);
textView.setText(selectedDate);
}
}
所以我试着换行
String selecteDate = ...
变成类似
的东西
SimpleDateFormat simpledateformat = new SimpleDateFormat("EE, DD.MM.YY");
String selectedDate = simpledateformat.format(date);
但是由于"date"不是选中的而是当前的,而且simpledateformat.format的结果可能不是字符串,所以它不起作用。谁能告诉我如何让它工作?虽然它不需要是 SimpleDateFormat,但这正是我认为它可能工作的方式。非常感谢!
试试这个:
SimpleDateFormat simpledateformat = new SimpleDateFormat("EE, dd.MM.yy");
Calendar newDate = Calendar.getInstance();
newDate.set(year, month, day);
String selectedDate = simpledateformat.format(newDate.getTime());
我是 Java 和 Android 的新手。我从 DatePickerDialog 上的不同教程(主要是官方教程)中获取了以下代码。 现在我希望所选日期采用特定格式 ("EE, DD.MM.YY") 并尝试使用 SimpleDateFormat 执行此操作,但我不知道从哪里获取所选日期,因为我 "only" 有年月和日期作为参数:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
public Date date;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for 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);
date = c.getTime();
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
TextView textView = (TextView) getActivity().findViewById(R.id.textView_Date);
String selectedDate = String.valueOf(day) + "." + String.valueOf(month) + "." + String.valueOf(year);
textView.setText(selectedDate);
}
}
所以我试着换行
String selecteDate = ...
变成类似
的东西SimpleDateFormat simpledateformat = new SimpleDateFormat("EE, DD.MM.YY");
String selectedDate = simpledateformat.format(date);
但是由于"date"不是选中的而是当前的,而且simpledateformat.format的结果可能不是字符串,所以它不起作用。谁能告诉我如何让它工作?虽然它不需要是 SimpleDateFormat,但这正是我认为它可能工作的方式。非常感谢!
试试这个:
SimpleDateFormat simpledateformat = new SimpleDateFormat("EE, dd.MM.yy");
Calendar newDate = Calendar.getInstance();
newDate.set(year, month, day);
String selectedDate = simpledateformat.format(newDate.getTime());