设计一个日期类Date,能够在实例化后给日期对象赋值,能够输出对象的日期?

设计一个日期类Date,能够在实例化后给日期对象赋值,能够输出对象的日期。为Date类设计一成员函数,能够求得两个日期的相差天数。提示:注意闰年2月的天数;注意两个日期如何作为参数传递。

import java.text.ParseException;

import java.text.SimpleDateFormat;
public class Date {
private String year;
private String month;
private String day;

public Date(String year, String month, String day) {
this.year = year;
this.month = month;
this.day = day;
}
public void format(){
System.out.println(day + "/" + month + "/" + year);
}

public void calculate(Date endDate){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try {
long startDateNumber = sdf.parse(this.getYear() + "/" + this.getMonth() + "/" + this.getDay()).getTime();
long endDateNumber = sdf.parse(endDate.getYear() + "/" + endDate.getMonth() + "/" + endDate.getDay()).getTime();
long resultDay = (endDateNumber - startDateNumber)/(24 * 1000 * 60 * 60);
System.out.println("相差" + (resultDay) + "天");
} catch (ParseException e) {
e.printStackTrace();
}
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}

}

public class Test {
public static void main(String[] args) {
Date startDate = new Date("2020","04","05");
Date endDate = new Date("2020","04","06");
startDate.calculate(endDate);
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答