如何将String解析为Date对象?

时间:2017-04-28 15:01:18

标签: java android

我正在尝试根据我选择的日期创建日期变量。当我使用simpledateformat将其解析为日期对象时,它将无法工作。请有人帮帮我吗?

package com.example.rossr.tlatimetableweek;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import java.util.*;
import java.text.*;

public class A_Week extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a__week);

    DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    Date currentDate = new Date();

    Log.i("Current Date",dateFormat.format(currentDate));

    Date termDate = dateFormat.parse("11/12/2017"); //error on this line
}
}

3 个答案:

答案 0 :(得分:1)

试试这个

   try {

      SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
       Date date = dateFormat.parse("11/12/2017")
     }
    catch (ParseException ex){
        Log.i("Current Date","error occurred while parsing date");
     }

答案 1 :(得分:0)

这是因为DateFormat.parse方法抛出ParseException,您需要处理它。在方法签名中声明它或使用try和catch块处理异常。我修改了代码来处理它与try和catch块。请尝试使用以下代码。

        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");          
        Date currentDate = new Date();

        Log.i("Current Date",dateFormat.format(currentDate));

        try {
            Date termDate = dateFormat.parse("11/12/2017");
            System.out.println(" date ["+termDate+"]");
        }
        catch (ParseException ex){
            Log.i("Current Date","error occurred while parsing date");
        }

答案 2 :(得分:0)

您需要尝试/捕获ParseException。使用:

   try {
        Date termDate = dateFormat.parse("11/12/2017"); 
    } catch (ParseException e) {
        e.printStackTrace();
    }
Android工作室向我推荐了这个解决方案。不确定,你正在使用什么IDE。