以下是Java代码实现:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        // 示例日期为2021年11月15日
        LocalDate date = LocalDate.of(2021, 11, 15);
        long daysToYearEnd = daysToYearEnd(date);
        System.out.println("距离年底还有:" + daysToYearEnd + "天");
    }

    public static long daysToYearEnd(LocalDate date) {
        LocalDate yearEnd = LocalDate.of(date.getYear(), 12, 31);
        long days = ChronoUnit.DAYS.between(date, yearEnd);
        return days;
    }
}

运行结果为:

距离年底还有:46天

解释一下代码:

  • LocalDate类是Java 8引入的日期时间API,用于处理日期和时间。
  • LocalDate.of(year, month, dayOfMonth)方法用于创建指定日期的LocalDate对象。
  • ChronoUnit枚举类型定义了各种时间单位,如天、小时、分钟等。ChronoUnit.DAYS.between(startDate, endDate)方法可以计算两个日期之间的天数差。
  • daysToYearEnd函数接受一个LocalDate参数,返回距离该日期年底的天数。函数内部先计算出该年的年末日期,然后用ChronoUnit计算两个日期之间的天数差,即为距离年底的天数。
用JAVA编写一个函数输入一个日期计算其距年底的时间

原文地址: https://www.cveoy.top/t/topic/6hE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录