如何从我的EditText获取具有格式化日期的日期对象(通过微调器存储)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从我的EditText获取具有格式化日期的日期对象(通过微调器存储)相关的知识,希望对你有一定的参考价值。
我使用Spinner弹出窗口(在单击编辑文本上)通过我的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.???
}
答案
来自Datatypes In SQLite Version 3:
SQLite没有为存储日期和/或时间而预留的存储类。相反,SQLite的内置日期和时间函数能够将日期和时间存储为TEXT,REAL或INTEGER值。
因此,您不会将日期存储为日期。
根据需要格式化日期并将其存储为TEXT
或
将myCalendar.getTime()
存储为INTEGER
。
以上是关于如何从我的EditText获取具有格式化日期的日期对象(通过微调器存储)的主要内容,如果未能解决你的问题,请参考以下文章