bru*_*rux 0 java sqlite android datepicker
我正在使用android + SQLite和DatePicker Widget.
对于我的SQLite插入命令,DatePicker没有正确格式化.即,如果所选日期的月份或日期小于10,则不会插入0.例如,如果我选择日期"2010年1月1日",则月份和日期的格式为1和1.这与YYYY-MM-DD的常用SQL格式冲突.
我试图通过将它们转换为字符串并通过执行以下操作为o添加前缀来将0变为小于10的整数.
// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
if(monthOfYear < 10)
{
String mm = Integer.toString(monthOfYear);
String m = "0" + mm;
mMonth = Integer.parseInt(m);
}
else{mMonth = monthOfYear;}
if (dayOfMonth <10)
{
String dd = Integer.toString(dayOfMonth);
String d = "0" + dd;
dayOfMonth = Integer.parseInt(d);
}
else{mDay = dayOfMonth;}
mYear = year;
updateDisplay();
}
};
// updates the date in the TextView
private void updateDisplay() {
mDateDisplay.setText(
new StringBuilder()
// Month is 0 based so add 1
.append(mYear).append("-")
.append(mMonth + 1).append("-")
.append(mDay).append("")
);
selecteddate = (String) mDateDisplay.getText();
}
Run Code Online (Sandbox Code Playgroud)
我期待着将2010-1-1转换为2010-01-01.它不是.有没有人有更简单的方法这样做,以便我可以在将日期发送到sqlite表之前将其变为正确的格式?
提前致谢.
您可以使用更短的代码执行相同的操作.
new StringBuilder()
// Month is 0 based so add 1
.append(mYear).append("-")
.append(mMonth<10?"0"+(mMonth+1):mMonth + 1).append("-")
.append(mDay<10?"0"+mDay:mDay).append("")
Run Code Online (Sandbox Code Playgroud)
否则我认为你无能为力.
归档时间: |
|
查看次数: |
2059 次 |
最近记录: |