I have day of birth and second LocalDate.now() I use Periof for print this
Period test = Period.between(dateofbirth,LocalDate.now());
but if i want print this error "P5Y8M11D"
what can i do to get it- "You live in the world 10,23 years"
Period#getYearsP5Y8M11D is the default format of Period#toString. You can get the components of period e.g. years, months, days etc. from the object of Period as per your requirement using its corresponding accessor methods.
Demo:
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.time.Period;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
LocalDate dateofbirth = LocalDate.of(1975, 7, 15);
Period test = Period.between(dateofbirth, LocalDate.now());
System.out.printf("You have lived in the world for %d years.%n", test.getYears());
double years = test.getYears() + test.getMonths() / 12.0 + test.getDays() / 365.0;
System.out.printf("You have lived in the world for %.2f years.%n", years);
DecimalFormat format = (DecimalFormat) NumberFormat.getNumberInstance(Locale.GERMAN);
format.applyPattern("#,##0.00");
String formattedValue = format.format(years);
System.out.printf("You have lived in the world for %s years.%n", formattedValue);
}
}
Output:
You have lived in the world for 45 years.
You have lived in the world for 45.36 years.
You have lived in the world for 45,36 years.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With