import java.time.Period ;
import java.util.Arrays ;
import java.util.List ;
import java.util.stream.Collectors ;
public class Main {
public static void main
( String [ ] args
) { String [ ] arr
= { "1 years, 2 months, 22 days" ,
"1 years, 1 months, 14 days" ,
"4 years, 24 days" ,
"13 years, 21 days" , "9 months, 1 day" } ;
List< Period> periodList =
.map ( s -> Period.parse (
"P" + s.replaceAll ( "[\\ s+,]" , "" )
.replaceAll ( "years?" ,"Y" )
.replaceAll ( "months?" , "M" )
.replaceAll ( "days?" , "D" )
)
)
.collect ( Collectors.toList ( ) ) ;
System .
out .
println ( periodList
) ;
// Now you can retrieve year, month and day from the Period e.g.
periodList.forEach ( p ->
p + " => " +
p.getYears ( ) + " years " +
p.getMonths ( ) + " months " +
p.getDays ( ) + " days"
)
) ;
}
}
aW1wb3J0IGphdmEudGltZS5QZXJpb2Q7CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlzOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLkNvbGxlY3RvcnM7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJU3RyaW5nW10gYXJyID0geyAiMSB5ZWFycywgMiBtb250aHMsIDIyIGRheXMiLCAiMSB5ZWFycywgMSBtb250aHMsIDE0IGRheXMiLCAiNCB5ZWFycywgMjQgZGF5cyIsCgkJCQkiMTMgeWVhcnMsIDIxIGRheXMiLCAiOSBtb250aHMsIDEgZGF5IiB9OwoKCQlMaXN0PFBlcmlvZD4gcGVyaW9kTGlzdCA9IAoJCQkJQXJyYXlzLnN0cmVhbShhcnIpCgkJCQkJLm1hcChzIC0+IFBlcmlvZC5wYXJzZSggCgkJCQkJCQkJIlAiICsgcy5yZXBsYWNlQWxsKCJbXFxzKyxdIiwgIiIpCgkJCQkJCQkJCQkucmVwbGFjZUFsbCgieWVhcnM/IiwiWSIpCgkJCQkJCQkJCQkucmVwbGFjZUFsbCgibW9udGhzPyIsICJNIikKCQkJCQkJCQkJCS5yZXBsYWNlQWxsKCJkYXlzPyIsICJEIikKCQkJCQkJCSkKCQkJCQkpCgkJCQkJLmNvbGxlY3QoQ29sbGVjdG9ycy50b0xpc3QoKSk7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKHBlcmlvZExpc3QpOwoJCQoJCS8vIE5vdyB5b3UgY2FuIHJldHJpZXZlIHllYXIsICBtb250aCBhbmQgZGF5IGZyb20gdGhlIFBlcmlvZCBlLmcuCgkJcGVyaW9kTGlzdC5mb3JFYWNoKHAgLT4gCgkJCVN5c3RlbS5vdXQucHJpbnRsbigKCQkJCQlwICsgIiA9PiAiICsgCgkJCQkJcC5nZXRZZWFycygpICsgIiB5ZWFycyAiICsgCgkJCQkJcC5nZXRNb250aHMoKSArICIgbW9udGhzICIrIAoJCQkJCXAuZ2V0RGF5cygpICsiIGRheXMiCgkJCSkKCQkpOwoJfQp9