我必须以年、月、日、小时、分钟和秒来计算我的年龄。我只能计算年、月和日。我如何计算小时、分钟和秒?
package age;
import java.time.LocalDate;
import java.time.Period;
import java.util.Scanner;
public class Age {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your birthdate:");
System.out.println("Year: ");
int year = sc.nextInt();
System.out.println("Month: ");
int month = sc.nextInt();
System.out.println("Day: ");
int day = sc.nextInt();
LocalDate today = LocalDate.now();
LocalDate birthdate = LocalDate.of(year, month, day);
Period p = Period.between(birthdate, today);
System.out.println("I am " + p.getYears() + " years, " + p.getMonths() + " months, " + p.getDays() + " days old.");
}
}
使用图书馆
在我看来,使用 GregorianCalendar 和 Date 更紧凑:
当然,承认 Elenasys 在几个月的计算中提出的错误。
从您提出的代码中,进行精确计算有点复杂,因为您必须检查计算中包含哪些月份,并且如您所知,月份可能有不同的天数。
如果我们取一年中一个月的平均天数,
30.4167
就可以得到结果(考虑到计算中的小幅误差)。