将类型字符串的日期保存到数据库中,类型为Date

时间:2013-11-29 15:11:12

标签: java android database string date

我需要将几个日期保存到Java中的数据库中。这些日期首先作为字符串接收。如何转换它们并将它们保存为数据库中的日期?我打算使用STR_TO_DATE函数,但在这种情况下查询的语法怎么样?

这是我到目前为止所做的:

public void addRow(Integer id, String infName, String infType,
    String domain, String language, String validType, Integer infoTypeId,
    String value, String effDate, String expDate, String processingTime)
    {
        String query="id+infName+language";
        if(query!=KEY)
        {
            try
            {
                                    // asking for a database
                SQLiteDatabase db=this.getWritableDatabase();
                ContentValues values=new ContentValues();

                values.put(PERSON_ID,id);
                values.put(INFO_NAME,infName);
                values.put(INFO_INPUT_TYPE,infType);
                values.put(INFO_DOMAIN, domain);
                values.put(INFO_LANGUAGE, language);
                values.put(INFO_REG_EX, validType);
                values.put(INFO_TYPE_ID,infoTypeId);
                values.put(INFO_VALUE, "NoValue");

// DATE-shouldnt be added as a string but as a DATE or TIMESTAMP
                values.put(INFO_EFFECTIVE_DATE, effDate);
// DATE-shouldnt be added as a string but as a DATE or TIMESTAMP
                values.put(INFO_EXPIRY_DATE, expDate);

                values.put(INFO_PROCESSING_TIME, processingTime);
                db.insert(TABLE_PROFILE,null,values);

                db.close();
            }
            catch(Exception e)
            {
                Toast.makeText(mContext,
                                        "Error in Inserting to Database",
                                         Toast.LENGTH_LONG).show(); 
            }
        }
    }

2 个答案:

答案 0 :(得分:1)

JodaTime非常适合在Java中使用日期

答案 1 :(得分:0)

解决问题的步骤:

  1. 为您的问题添加语言标记。您的代码看起来像Java,但我不认识Toast。
  2. Google搜索“java中的格式日期”。在尝试查找Java解决方案时,Google搜索始终是最佳起点(其他解决方案也是如此)。
  3. 查找,然后阅读SimpleDateFormat API页面(JSE 6.0 SimpleDateFormat Page)。
  4. 编写测试程序以了解如何使用SimpleDateFormat。
  5. 使用SimpleDateFormat。
  6. 以下是一些示例来源:

    Date date = null;
    final String dateValue = "12Nov2013";
    final DateFormat dateFormat = new SimpleDateFormat("ddMMMyyyy");
    
    try
    {
        date = dateFormat.parse(dateValue);
        System.out.println("Parsed Date: " + date);
    }
    catch (ParseException exception)
    {
        System.out.println("ParseException: " + exception);
    }