我正在尝试根据我选择的日期创建日期变量。当我使用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
}
}
答案 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。