Ross McKenzie
Ross McKenzie

Reputation: 3

How to parse String to Date object?

I'm trying to create a date variable based on a date I have chosen. When I use the the simpledateformat to parse it to the date object, it will not work. Please can someone help me?

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
}
}

Upvotes: 0

Views: 39

Answers (3)

rise of a phoenix
rise of a phoenix

Reputation: 43

You need to try/catch the ParseException. Use:

   try {
        Date termDate = dateFormat.parse("11/12/2017"); 
    } catch (ParseException e) {
        e.printStackTrace();
    }

Android studio suggested me this solution. Not sure, what IDE you are using.

Upvotes: 0

Chathuranga Tennakoon
Chathuranga Tennakoon

Reputation: 2179

This is because DateFormat.parse method throws ParseException and you need to handle it. declare it in the method signature or handle the exception with try and catch block. i have modified the code to handle it with try and catch block. please try with below code.

        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");
        }

Upvotes: 0

Quick learner
Quick learner

Reputation: 11457

Try this

   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");
     }

Upvotes: 1

Related Questions