java实现生存时间统计年月日输入格式为yyyy.MM.dd: 1.用户输入出生的年月日 2.程序会计算的出已经生存的时间 3.生存时间分别以年 月日时分秒和毫秒为单位统计
时间: 2024-03-01 19:52:08 浏览: 66
Java输出系统当前的日期(年月日时分秒毫秒)
好的,以下是Java实现生存时间统计的代码,年月日输入格式为yyyy.MM.dd:
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;
public class LifetimeCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
System.out.print("请输入出生日期(格式为yyyy.MM.dd):");
String birthdayStr = scanner.nextLine();
LocalDate birthday = LocalDate.parse(birthdayStr, formatter);
LocalDate today = LocalDate.now();
Period period = Period.between(birthday, today);
System.out.println("你已经生存了:" + period.getYears() + "年" + period.getMonths() + "月" + period.getDays() + "天");
System.out.println("生存时间总共为:" + ChronoUnit.YEARS.between(birthday, LocalDateTime.now()) + "年" + ChronoUnit.MONTHS.between(birthday, LocalDateTime.now()) % 12 + "月" + ChronoUnit.DAYS.between(birthday, LocalDateTime.now()) % 30 + "天" + ChronoUnit.HOURS.between(birthday.atStartOfDay(), LocalDateTime.now()) % 24 + "小时" + ChronoUnit.MINUTES.between(birthday.atStartOfDay(), LocalDateTime.now()) % 60 + "分钟" + ChronoUnit.SECONDS.between(birthday.atStartOfDay(), LocalDateTime.now()) % 60 + "秒" + ChronoUnit.MILLIS.between(birthday.atStartOfDay(), LocalDateTime.now()) % 1000 + "毫秒");
}
}
```
程序使用Java 8中的LocalDate类来计算已经生存的时间和总共的生存时间。用户输入的出生日期先通过DateTimeFormatter类进行格式化,然后再使用LocalDate.parse()方法将其转换为LocalDate对象。其余部分与上一个示例代码相同,可以输出已经生存的时间和总共的生存时间,以年月日时分秒和毫秒为单位。
阅读全文