首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误SimpleDateFormat

错误SimpleDateFormat
EN

Stack Overflow用户
提问于 2013-10-14 00:32:22
回答 2查看 336关注 0票数 1

我必须在sqlite db中输入日期。我得到了错误,我不明白为什么。有人能帮我吗?

代码语言:javascript
复制
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
String strDate = sdf.format( dateAndTime );
cv.put(MyTable.DATE, strDate);

这是错误:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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();
}
};
EN

回答 2

Stack Overflow用户

发布于 2013-10-14 01:11:04

format方法接受Date对象的实例。而且您的'dateAndTime‘变量似乎没有包含Date对象的实例。

票数 0
EN

Stack Overflow用户

发布于 2013-11-26 17:57:18

请记住,Calendar.getInstance()将为您提供一个日期设置为当前时刻的日历。

如果您通过对话框获取日期并将其设置为dateAndTime (据我所知它是一个日历对象),您最好调用dateAndTime.getTime().getTime()来获取以毫秒为单位的时间(第一个getTime()返回date对象,第二个返回date的毫秒时间),然后将以毫秒为单位的日期传递给format方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19347522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档