fork download
  1. import java.time.Period;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5.  
  6. public class Main {
  7. public static void main(String[] args) {
  8. String[] arr = { "1 years, 2 months, 22 days", "1 years, 1 months, 14 days", "4 years, 24 days",
  9. "13 years, 21 days", "9 months, 1 day" };
  10.  
  11. List<Period> periodList =
  12. Arrays.stream(arr)
  13. .map(s -> Period.parse(
  14. "P" + s.replaceAll("[\\s+,]", "")
  15. .replaceAll("years?","Y")
  16. .replaceAll("months?", "M")
  17. .replaceAll("days?", "D")
  18. )
  19. )
  20. .collect(Collectors.toList());
  21.  
  22. System.out.println(periodList);
  23.  
  24. // Now you can retrieve year, month and day from the Period e.g.
  25. periodList.forEach(p ->
  26. System.out.println(
  27. p + " => " +
  28. p.getYears() + " years " +
  29. p.getMonths() + " months "+
  30. p.getDays() +" days"
  31. )
  32. );
  33. }
  34. }
Success #stdin #stdout 0.22s 54704KB
stdin
Standard input is empty
stdout
[P1Y2M22D, P1Y1M14D, P4Y24D, P13Y21D, P9M1D]
P1Y2M22D => 1 years 2 months 22 days
P1Y1M14D => 1 years 1 months 14 days
P4Y24D => 4 years 0 months 24 days
P13Y21D => 13 years 0 months 21 days
P9M1D => 0 years 9 months 1 days