Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 了解如何将SimpleDataFormat与其他参数一起使用_Java_Date_Datetime_Object_Instance - Fatal编程技术网

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

Java 了解如何将SimpleDataFormat与其他参数一起使用,java,date,datetime,object,instance,Java,Date,Datetime,Object,Instance,我试图理解格式化日期并将其添加为对象参数的逻辑,但发现这很困难。我正在尝试使用SimpleDataFormat myClassroom.addEnrolment(new Classroom("502","424")); myClassroom.addEnrolment(new Classroom("503","425")); myClassroom.addEnrolment(new Classroom("504","426")); 但为了达到这个目标 myClassroom.addEnr

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

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;
并在课堂上添加了参数/初始化。我该怎么办?谢谢你的帮助我好像找不到这个信息

编辑教室的属性:

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
。使用和代替。查看更多详细信息

按如下方式操作:

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"));
    }
}

有关如何将该格式的日期解析为日期对象的信息,请参阅。您试图实现什么?发布更多详细信息,例如
教室的属性列表
,您想做什么等。此外,不要使用过时的
SimpleDataFormat
;改为使用
DateTimeFormatter
。@ArvindKumarAvinash我已经添加了属性不要使用过期的
Date
SimpleDateFormat
。改用
LocalDate
DateTimeFormatter
。查看更多详细信息。不鼓励使用过时的
日期
简化格式
。您应该使用
LocalDat
e和
DateTimeFormatter
@ArvindKumarAvinash给出一些示例,实际上最初的问题是关于
Date
SimpleDateFormat
,所以这就是我在回答中使用的。我来这里不是为了让人们第三次或第四次尝试在java中创建合适的日期/时间库;-)