我正在使用editText输入类型是日期,我希望用户以日期格式输入日期并将其存储在sqlite表的日期时间字段中。这可能吗?因为 editText 日期格式是 dd/mm/yyyy 而在 sqlite 中它是 yyyy/mm/dd。
我设计了一个表单,其中有一个编辑文本,用户将通过该文本输入日期,并且我想将此日期存储在字段类型为 datetime 的 sqlite 中。怎么做?我是android新手,所以如果有人知道解决方案,请给我答案。
我正在使用editText输入类型是日期,我希望用户以日期格式输入日期并将其存储在sqlite表的日期时间字段中。这可能吗?因为 editText 日期格式是 dd/mm/yyyy 而在 sqlite 中它是 yyyy/mm/dd。
我设计了一个表单,其中有一个编辑文本,用户将通过该文本输入日期,并且我想将此日期存储在字段类型为 datetime 的 sqlite 中。怎么做?我是android新手,所以如果有人知道解决方案,请给我答案。
我已经解决了我的问题:
我使用了 textview、datepicker 和 date_picker_demo.xml 中保存在布局中的按钮。
日期选择器.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
db = new DatabaseHelper(this);
date_textview = (TextView) findViewById(R.id.tv_date);
picker_date = (DatePicker) findViewById(R.id.datepicker1);
button_create = (Button) findViewById(R.id.button_create);
}
@Override
public void onClick(View arg0) {
date = new Date(picker_date.getYear()-1900, picker_date.getMonth(), picker_date.getDayOfMonth());
sdf = new SimpleDateFormat("yyyy-MM-dd");
//sdf.format()->converting date to string
String sdate = sdf.format(date);
//inserting date into database
try {
db.createDataBase();
} catch (IOException e) {
e.printStackTrace();
}
db.openDataBase();
Cursor cur = db.select();
for(cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()){
if(cur.isLast()){
s_id = Integer.parseInt(cur.getString(0));
s_id = s_id + 1;
}
}
db.insertDate(s_id,sdate);
}
数据库助手.java
public Cursor select(){
String qry = "Select subscription_id from Subscription_Master";
cur = sqdb.rawQuery(qry,null);
return cur;
}
public void insertDate(int s_id,String s_date){
String query = "insert into Subscription_TAB(subscription_id,start_date) values("+s_id+",date('"+s_date+"'))";
sqdb.execSQL(query);
Log.d("value","inserted");
}
日期已成功插入数据库。