字符串到LocalDate - >在toString中格式化

问题描述 投票:-2回答:2

有一个文本文件,我用一个split方法来剪切。一切都没关系,除了格式化我有问题。预期输出格式:

姓名:John,姓:Davidson,出生日期:05.may.1988,出生地:贝尔格莱德

日期必须是“05.may.1988”。相反,我把它作为输入文件中的05051988。我的错误在哪里?什么是解决方案?

Persons person = new Persons();

String text = "John.Davidson/05051988/Belgrade Michael.Barton/01011968/Krakov Ivan.Perkinson/23051986/Moscow";

String[] valami = text.split("[ ./]+");

for(int i=0; i < valami.length; i+=4) {

    person.name = valami[i];
    person.lastName = valami[i+1];
    person.dateBirth = valami[i+2];
    person.Birthplace = valami[i+3];

    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("ddMMyyyy");
    LocalDate ld = LocalDate.parse(dateBirth, dtf) ;

    System.out.println(person);
}

人员类:

@Override
public String toString () {

    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd.MMM.yyyy.");

    String s = dateBirth.format(dtf);

    return "Ime: " + this.name + " , "
        + "Prezime: " + this.lastName + " , "
        + "Datum rodjenja: " + this.dateBirth + " , "
        + "Mesto rodjenja: " + this.Birthplace;
}
java string date-format
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.