Je veux obtenir la date du widget datepicker dans Android J'ai essayé avec ceci
Date date1= (Date) new Date
(dpBirthDate.getYear(), dpBirthDate.getMonth(), dpBirthDate.getDayOfMonth());
date1 = (Date) new SimpleDateFormat("yyyy-MM-dd").parse(date1.toString());
Mais je reçois une date comme celle-ci mon 7 dec 2011 time
... et tout ce que je veux, c'est le yyyy-MM-dd
format pour le stocker dans la base de données.
J'ai également essayé de concaténer le année-mois-jour comme ceci mais le problème est par exemple aujourd'hui 2011-12-7 le jour devrait être 07 pour être valide
Pourrais-tu m'aider s'il te plait.
J'utilise ceci:
/**
*
* @param datePicker
* @return a Java.util.Date
*/
public static Java.util.Date getDateFromDatePicker(DatePicker datePicker){
int day = datePicker.getDayOfMonth();
int month = datePicker.getMonth();
int year = datePicker.getYear();
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
return calendar.getTime();
}
Tu devrais utiliser SimpleDateFormat.format
pour convertir cet objet Date
en un String
, comme ceci
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateString = sdf.format(date1);
Je pense que vous venez de l'avoir à l'envers. Vous devez utiliser format
pour passer d'une date à une chaîne et parse
pour passer d'une chaîne à une date.
Je sais que c'est vieux mais j'ai eu du mal à le trouver. Donc pour la postérité
Scénario: une vue a besoin de la date en aaaa-mm-jj
date_field = (EditText)findViewById(R.id.input_date);
date_field.setFocusable(false); // disable editing of this field
date_field.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
chooseDate();
}
});
private void chooseDate() {
final Calendar calendar = Calendar.getInstance();
final int year = calendar.get(Calendar.YEAR);
final int month = calendar.get(Calendar.MONTH);
final int day = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePicker =
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(final DatePicker view, final int year, final int month,
final int dayOfMonth) {
@SuppressLint("SimpleDateFormat")
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
calendar.set(year, month, dayOfMonth);
String dateString = sdf.format(calendar.getTime());
date_field.setText(dateString); // set the date
}
}, year, month, day); // set date picker to current date
datePicker.show();
datePicker.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(final DialogInterface dialog) {
dialog.dismiss();
}
});
}
J'espère que cela aide quelqu'un