我在DTO下方有详细信息
public class CreditDetailDTO {
private String sectionType;
private BigDecimal totalAmount;
private List<SectionDetailsDTO> sectionDetails;
}
public class SectionDetailsDTO {
private String startDate;
private String expiryDate;
private BigDecimal amount;
}
我需要按开始日期对sectionDetails进行排序。我使用下面的代码进行排序
creditDetailsDTO.getSectionDetails().sort(Comparator.comparing(SectionDetailsDTO::getStartDate));
您会看到
getStartDate
是字符串,但我需要什么,首先 需要将getStartDate
转换为date
,然后根据日期 排序数据
样本日期格式:15-07-2019:11:00:00
答案 0 :(得分:1)
使用LocalDateTime
将日期解析为DateTimeFormatter
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd-MM-yyyy:HH:mm:ss");
LocalDateTime t = LocalDateTime.parse("15-07-2019:11:10:20",f);
排序代码
creditDetailsDTO.getSectionDetails().stream()
.sort(Comparator.comparing(dto -> LocalDateTime.parse(dto.getStartDate(), f)));
答案 1 :(得分:0)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(your_String_pattern);
Date date = simpleDateFormat.parse(your_string_value);
Log.e("tag","Converted Date = "+date);
如果您的值和模式匹配,它将为您提供日期。之后,您可以在该日期执行所需的操作。(请确保对string_date_value进行了一些验证)。