如何从我的EditText获取具有格式化日期的日期对象(通过微调器存储)

问题描述 投票:0回答:1

我使用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.???
}
java android android-studio
1个回答
0
投票

来自Datatypes In SQLite Version 3

SQLite没有为存储日期和/或时间而预留的存储类。相反,SQLite的内置日期和时间函数能够将日期和时间存储为TEXT,REAL或INTEGER值。

因此,您不会将日期存储为日期。 根据需要格式化日期并将其存储为TEXT或 将myCalendar.getTime()存储为INTEGER

© www.soinside.com 2019 - 2024. All rights reserved.