了解如何将SimpleDateFormat与其他参数一起使用



我试图理解格式化日期并将其添加为对象的参数的逻辑,但发现这很困难。我正在尝试使用SimpleDateFormat。。

myClassroom.addEnrolment(new Classroom("502","424"));
myClassroom.addEnrolment(new Classroom("503","425"));
myClassroom.addEnrolment(new Classroom("504","426"));   

但试图实现它接受

myClassroom.addEnrolment(new Classroom("502","424", "2020-05-12"));
myClassroom.addEnrolment(new Classroom("503","425", "2020-04-22"));
myClassroom.addEnrolment(new Classroom("504","426", "2020-05-05"));

我都导入了。。

import java.text.SimpleDateFormat;
import java.util.Date;

并已在Classroom类中添加为参数/初始化。我该何去何从?感谢任何帮助我似乎找不到这个信息

编辑课堂属性:

import java.util.Date;
public class Classroom{      
private String studID;
private String subjectID;
private Date dateEnroled;
public Classroom(String studID, String subjectID, Date dateEnroled)
{  
this.studID = studID; 
this.courseID = subjectID;
this.dateEnroled = dateEnroled;
}
正如我在评论中提到的,不要使用过时的DateSimpleDateFormat。请改用LocalDate和DateTimeFormatter。查看此项了解更多详细信息。

按如下操作:

import java.time.LocalDate;
class Classroom {
private String studID;
private String subjectID;
private LocalDate dateEnroled;
public Classroom(String studID, String subjectID, LocalDate dateEnroled) {
this.studID = studID;
this.subjectID = subjectID;
this.dateEnroled = dateEnroled;
}
// Getters, setters, hashCode, equals and toString
}
public class Main {
public static void main(String[] args) {
myClassroom.addEnrolment(new Classroom("502","424", LocalDate.parse("2020-05-12"));
}
}

您需要一个接受字符串的构造函数,类似于以下内容:

public Classroom(String studID, String subjectID, String dateEnroled)
{  
this.studID = studID; 
this.courseID = subjectID;
this.dateEnroled = new java.text.SimpleDateFormat("yyyy-MM-dd")
.parse(dateEnroled);
}

最新更新