Я пытаюсь создать переменную даты на основе выбранной даты. Когда я использую формат simpledate для анализа его на объекте date, он не будет работать. Пожалуйста, кто-нибудь может мне помочь?

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
}
}
0
Ross McKenzie 28 Апр 2017 в 18:01

3 ответа

Лучший ответ

Попробуй это

   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
Quick learner 28 Апр 2017 в 15:06

Это потому, что метод 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");
        }
0
Chathuranga Tennakoon 28 Апр 2017 в 15:08

Вам нужно попробовать / поймать ParseException. Использование:

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

Студия Android предложила мне это решение. Не уверен, какую IDE вы используете.

0
rise of a phoenix 28 Апр 2017 в 15:10