我需要在“人”类中存储生日。 如果使用java.util.Calendar存储日期,如何使用“Person”对象访问日期?
我尝试创建一个get方法,但后来意识到java.util.Calendar是静态的。然后我尝试创建一个生日包装类,但再次遇到麻烦返回对象。
以下是我到目前为止的一些内容:
public class Person {
private String firstname;
private String surname;
public Person(String firstname, String surname, BirthdateWrapper birth) {
this.firstname = firstname;
this.surname = surname;
BirthdateWrapper birthday = birth;
}
public String getFirst(){
return firstname;
}
public String getSurt(){
return surname;
}
public BirthdateWrapper returnBirthObj() {
return birthday;
}
}
import java.util.Calendar;
public class BirthdateWrapper {
private int day;
private int month;
private int year;
Calendar birthday = Calendar.getInstance();
public BirthdateWrapper(int day, int month, int year) {
this.day = day;
this.month = month;
this.year = year;
setBirth();
}
private void setBirth() {
birthday.set(year, month, day);
}
}
答案 0 :(得分:1)
如果您正在使用GregorianCalendar,则可以使用构造函数。否则,您需要创建日历实例,然后手动设置每个字段:
public void testX() {
...
// Using GregorianCalendar
Calendar bday1 = new GregorianCalendar(2016, 0, 1);
person.setBirthdate(bday1);
// Using Calendar
Calendar bday2 = Calendar.getInstance();
bday2.set(Calendar.YEAR, 2016);
bday2.set(Calendar.MONTH, 0);
bday2.set(Calendar.DAY_OF_MONTH, 1));
person.setBirthdate(bday2);
...
}
有关您可以使用的其他构造函数,请参阅GregorianCalendar。您还可以创建自己的MyCalendar
类来创建自己的构造函数。
答案 1 :(得分:0)
您需要查看Class Calendar
此抽象类提供从java.util.Date
实例获取Calendar
的函数。例如,
calendar.getTime();
如果日期正常,我如何使用“Person”对象访问日期 使用java.util.Calendar存储
假设这是您Person
的定义。
public class Person {
private String name;
...
public static Calendar birthDate; // since you specified it's static
...
// accessors/mutators
}
Person.birthDate.getTime();
会告诉你约会对象。但请记住,我会建议您阅读Calendar
课程,因为它有很多有关set()
,get()
,add()
,roll()
方法的详细信息,这些方法应该被理解为了从Calendar
获得真正的好处。
希望我能清楚地理解这个问题并做出相应的回答。评论我是否误解了。