Je travaille sur une application Android dans laquelle je voudrais persister la date et l'heure saisies par l'utilisateur dans java.sql.timestamp et l'enregistrer. Lors de l'affichage à nouveau à l'utilisateur, je voudrais le convertir au format comme "jj-MM-YYYY" et "HH: MM", séparément. J'ai réussi à placer les entrées reçues de l'utilisateur à l'année, au mois, au jour, à l'heure, aux minutes dans des variables séparées, et j'ai même essayé d'obtenir l'heure, mais l'instance de calendrier me renvoie toujours la date et l'heure courantes. Je ne sais pas ce que je fais de mal. Veuillez me le faire savoir.Android: Conversion de données à partir de la date, sélecteur de temps à partir de Calendrier en horodatage sql et inverse.
code Android:
Button menuStartDate, menuStartTime;
EditText startDateTextField, startTimeTextField;
int monthOfYear, dayOfWeek, hourOfADay, minuteOfHour, year;
private Calendar startCalendar;
@Override
public void onClick(View view) {
if (view == menuStartDate) {
startCalendar = Calendar.getInstance();
year = startCalendar.get(Calendar.YEAR);
monthOfYear = startCalendar.get(Calendar.MONTH);
dayOfWeek = startCalendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
startDateTextField.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
}, year, monthOfYear, dayOfWeek);
datePickerDialog.show();
startCalendar.set(Calendar.MONTH, monthOfYear);
startCalendar.set(Calendar.YEAR, year);
startCalendar.set(Calendar.DAY_OF_MONTH, dayOfWeek);
}
if (view == menuStartTime) {
startCalendar = Calendar.getInstance();
hourOfADay = startCalendar.get(Calendar.HOUR_OF_DAY);
minuteOfHour = startCalendar.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
startTimeTextField.setText(hourOfDay + ":" + minute);
}
}, hourOfADay, minuteOfHour, false);
timePickerDialog.show();
startCalendar.set(Calendar.HOUR_OF_DAY, hourOfADay);
startCalendar.set(Calendar.MINUTE, minuteOfHour);
}
Comme vous pouvez le voir dans l'exemple ci-dessus, je reçois les informations de l'utilisateur et le mettre. Malheureusement, je ne suis pas en mesure d'obtenir l'heure définie par l'utilisateur dans le calendrier. Voici le code pour la conversion:
if(view == submitMenuButton){
MenuCard menuCard = new MenuCard();
if(!(startDateTextField.getText().toString().length()<1)){
if(!(startTimeTextField.getText().toString().length()<1)){
Timestamp timestamp = new Timestamp(startCalendar.getTimeInMillis());
Log.d("TImestamp is",timestamp.toString());
} else {
startTimeTextField.setError("Please select start time");
}
}else {
startDateTextField.setError("Please select start date");
}
}
Qu'est-ce que je fais mal? Toute aide serait bien. Merci.
puis utiliser datformatter et diviser la date sqlite en date et heure séparément en utilisant deux formats différents – Pavya