Понимание того, как использовать SimpleDateFormat с другими параметрами - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь понять логику c форматирования даты и добавления ее в качестве параметра для моих объектов, но это трудно. Я пытаюсь использовать 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. Откуда мне отсюда go? Цените любую помощь, я не могу найти эту информацию

ИЗМЕНИТЬ атрибуты Класса:

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

Ответы [ 2 ]

1 голос
/ 07 мая 2020

Как я уже упоминал в комментариях, не используйте устаревшие Date и SimpleDateFormat. Вместо этого используйте 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"));
    }
}
0 голосов
/ 07 мая 2020

Вам нужен конструктор, принимающий строку, примерно такую:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...