在java中格式化Date类

时间:2015-03-13 12:40:53

标签: java android string date simpledateformat

在android中,我在第1行检索了date(EditText)的值,然后将字符串日期转换为dd-mm-yyyy日期格式。

但是在第3行抛出异常。 我正在转换这个因为我想在数据库中保存日期。

PLZ解释

String d = dateView.getText().toString();
Date date;
 SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
      try {

        date= df.parse(d);
     } 
    catch (ParseException e) {

        Toast.makeText(this, "Date format is wrong",Toast.LENGTH_LONG).show();
    }

单击保存按钮时调用此方法:

public void save(View view)
{
    Toast.makeText(this, "in save method",Toast.LENGTH_LONG).show();
    EditText nameView = (EditText)findViewById(R.id.name);
    EditText dateView = (EditText)findViewById(R.id.date);
    EditText amountView = (EditText)findViewById(R.id.amount);
    String name = nameView.getText().toString();
     String d = dateView.getText().toString();

    try {
        df = new SimpleDateFormat("dd-MM-yyyy");
    } catch (Exception e1) {

        Toast.makeText(this, e1+"",Toast.LENGTH_LONG).show();
    }
          try {

        date= df.parse(d);
     } 
    catch (ParseException e) {

        Toast.makeText(this, "Date format is wrong",Toast.LENGTH_LONG).show();
    }

    try{
        amt = Integer.parseInt(amountView.getText().toString());
    }
    catch(Exception e){

        Toast.makeText(this, e+"",Toast.LENGTH_LONG).show();
    }
    long l = helper.insert(name,date,amt);
    Toast.makeText(this, l+"",Toast.LENGTH_LONG).show(); 

}

2 个答案:

答案 0 :(得分:1)

尝试实例化Date对象

Date date = new Date();

答案 1 :(得分:0)

您的代码可能会在日期解析方面抛出异常。

1。 ParseException 如果您的输入与您的日期格式匹配(即dd-MM-yyyy)。
2。 NullPointerException 如果您的输入为空,即d