SimpleDateFormat - IllegalArgumentException

时间:2014-04-23 13:44:18

标签: android eclipse sqlite simpledateformat illegalargumentexception

在尝试处理数据库存储的Date对象时,我似乎得到了一个IllegalArgumentException,它通过在构造函数中传递新的Date()来生成今天的日期和时间:

Ingrediant newIngrediant = new Ingrediant(id, name, location, new Date(), price); dbAdapter.insertIngrediant(newIngrediant);

问题发生在我的dbAdapter中:

    ContentValues newIngrediantValues = new ContentValues();
    // Assign values for each row.
    newIngrediantValues.put(KEY_ID, _ingrediant.getIngrediantId());
    newIngrediantValues.put(KEY_INGREDIANT_NAME, _ingrediant.getIngrediantName());
    newIngrediantValues.put(KEY_INGREDIANT_LOCATION, _ingrediant.getIngrediantLocation());
    Log.d("log", "---DATE NOW PROCESSING---");
    //Convert date to long (db stores date as long)
    try {
        SimpleDateFormat df = new SimpleDateFormat("dd.MM.YY hh:mm");
        Log.d("log", "1");
        String dateString = df.format(_ingrediant.getDateFound());
        Log.d("log", "2");
        Date date = df.parse(dateString);
        Log.d("log", "3");
        long dateLong = date.getTime();
        Log.d("log", "4");
        newIngrediantValues.put(KEY_DATE_FOUND, dateLong); //Long
    } catch (java.text.ParseException e) {
        e.printStackTrace();
    }`

看过Debugger之后,它已经找到了今天的日期,但是当涉及格式化模式时它没有注册值,因此我认为它与之相关。数据库本身将日期存储为长,这就是为什么以后我需要在添加它之前将其转换的原因。有什么想法发生了什么?非常感谢

0 个答案:

没有答案