我必须在sqlite db中输入日期。我得到了错误,我不明白为什么。有人能帮我吗?
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
String strDate = sdf.format( dateAndTime );
cv.put(MyTable.DATE, strDate);这是错误:
Caused by: java.lang.IllegalArgumentException
at java.text.DateFormat.format(DateFormat.java:361)
at java.text.Format.format(Format.java:93)
Caused by: java.lang.IllegalArgumentException
at java.text.DateFormat.format(DateFormat.java:361)
at java.text.Format.format(Format.java:93)这是我的datePicker:
public void chooseDate(View v) {
new DatePickerDialog(Movimenti.this, d,
dateAndTime.get(Calendar.YEAR),
dateAndTime.get(Calendar.MONTH),
dateAndTime.get(Calendar.DAY_OF_MONTH))
.show();}
private void updateLabel() {
mDataScelta.setText(fmtDateAndTime
.format(dateAndTime.getTime()));
}
DatePickerDialog.OnDateSetListener d=new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
dateAndTime.set(Calendar.YEAR, year);
dateAndTime.set(Calendar.MONTH, monthOfYear);
dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
}
};发布于 2013-10-14 01:11:04
format方法接受Date对象的实例。而且您的'dateAndTime‘变量似乎没有包含Date对象的实例。
发布于 2013-11-26 17:57:18
请记住,Calendar.getInstance()将为您提供一个日期设置为当前时刻的日历。
如果您通过对话框获取日期并将其设置为dateAndTime (据我所知它是一个日历对象),您最好调用dateAndTime.getTime().getTime()来获取以毫秒为单位的时间(第一个getTime()返回date对象,第二个返回date的毫秒时间),然后将以毫秒为单位的日期传递给format方法。
https://stackoverflow.com/questions/19347522
复制相似问题