我使用Spinner弹出窗口(通过单击EditText)通过EditText获得了格式化日期。我如何将格式化的日期存储为Date对象以存储到数据库中。下面是代码示例
Context context = this;
Calendar myCalendar = Calendar.getInstance();
String dateFormat = "dd / MM / yyyy";
DatePickerDialog.OnDateSetListener date;
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, Locale.UK);
private EditText mDOB = findViewById(R.id.date_of_birth);
private Date dateOfBirth;
private void datePicker() {
// init - set date to current date
long currentdate = System.currentTimeMillis();
String dateString = sdf.format(currentdate);
mDOB.setHint(dateString);
// set calendar date and update editDate
date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateDate();
}
};
// onclick - popup datepicker
mDOB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new DatePickerDialog(context, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
}
private void updateDate() {
mDOB.setText(sdf.format(myCalendar.getTime()));
dateOfBirth = mDOB.???
}
答案 0 :(得分:0)
来自Datatypes In SQLite Version 3:
SQLite没有预留存储类来存储日期 和/或时间。相反,SQLite内置的日期和时间函数 能够将日期和时间存储为TEXT,REAL或INTEGER 值。
因此,您不会将 date存储为Date 。
根据需要设置日期格式并将其存储为TEXT
或
将myCalendar.getTime()
存储为INTEGER
。