了解如何将 SimpleDateFormat 与其他参数一起使用
Understanding how to use SimpleDateFormat with other parameters
我试图理解格式化日期并将其添加为我的对象的参数的逻辑,但发现这很困难。我正在尝试使用 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;
并在课堂 class 中添加为 parameters/initialized。我从这里去哪里?感谢任何帮助我似乎找不到此信息
编辑教室的属性:
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;
}
您需要一个接受字符串的构造函数,如下所示:
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);
}
正如我在评论中提到的,不要使用过时的 Date
和 SimpleDateFormat
。使用 LocalDate and DateTimeFormatter instead. Check this 了解更多详情。
按如下操作:
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"));
}
}
我试图理解格式化日期并将其添加为我的对象的参数的逻辑,但发现这很困难。我正在尝试使用 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;
并在课堂 class 中添加为 parameters/initialized。我从这里去哪里?感谢任何帮助我似乎找不到此信息
编辑教室的属性:
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;
}
您需要一个接受字符串的构造函数,如下所示:
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);
}
正如我在评论中提到的,不要使用过时的 Date
和 SimpleDateFormat
。使用 LocalDate and DateTimeFormatter instead. Check this 了解更多详情。
按如下操作:
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"));
}
}