Java计算当前日期距离生日还有多少天

 1.键盘录入你的生日字符串 (如:"1998年08月08日")
 2.计算当前日期距离生日那天有多少天?
public static void main(String[] args) {
        System.out.println("请输入您的生日(xxxx年xx月xx日):");
        TemporalAccessor accessor = DateTimeFormatter.ofPattern("yyyy年MM月dd日").parse(new Scanner(System.in).nextLine());
        int i = LocalDate.from(accessor).getDayOfYear() - LocalDate.now().getDayOfYear();
        System.out.println("距离生日还有:" + (i < 0 ? i + 365 : i));
    }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你好,根据您提供的信息,我可以使用Java编写代码来计算距离生日还有多少。以下是代码示例: ```java import java.time.LocalDate; import java.time.Month; import java.time.Period; public class CalculateDaysToBirthday { public static void main(String[] args) { LocalDate today = LocalDate.now(); LocalDate birthday = LocalDate.of(199, Month.JANUARY, 1); // 假设生日是199年1月1日 LocalDate nextBirthday = birthday.withYear(today.getYear()); // 计算今年的生日日期 if (nextBirthday.isBefore(today) || nextBirthday.isEqual(today)) { nextBirthday = nextBirthday.plusYears(1); // 如果今年的生日已经过了,就计算明年的生日日期 } Period period = Period.between(today, nextBirthday); int days = period.getDays(); System.out.println("距离生日还有 " + days + " "); } } ``` 希望这个代码可以帮助您计算距离生日还有多少。 ### 回答2: 可以使用Java中的日期类(Date)和日历类(Calendar)来计算距离生日还有多少。 首先,将已知的生日日期转换为Date类型的实例,可以使用SimpleDateFormat类来实现日期的格式化转换。 ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class BirthdayCalculator { public static void main(String[] args) { // 已知的生日日期 String birthdayStr = "1990-08-15"; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date birthday = null; try { birthday = dateFormat.parse(birthdayStr); } catch (Exception e) { e.printStackTrace(); } // 获取当前日期 Calendar today = Calendar.getInstance(); today.set(Calendar.HOUR_OF_DAY, 0); today.set(Calendar.MINUTE, 0); today.set(Calendar.SECOND, 0); today.set(Calendar.MILLISECOND, 0); // 获取生日日期 Calendar birthDate = Calendar.getInstance(); birthDate.setTime(birthday); birthDate.set(Calendar.HOUR_OF_DAY, 0); birthDate.set(Calendar.MINUTE, 0); birthDate.set(Calendar.SECOND, 0); birthDate.set(Calendar.MILLISECOND, 0); // 计算距离生日还有多少 if (today.get(Calendar.DAY_OF_YEAR) > birthDate.get(Calendar.DAY_OF_YEAR)) { birthDate.set(Calendar.YEAR, today.get(Calendar.YEAR) + 1); } else { birthDate.set(Calendar.YEAR, today.get(Calendar.YEAR)); } long diffMillis = birthDate.getTimeInMillis() - today.getTimeInMillis(); long diffDays = diffMillis / (24 * 60 * 60 * 1000); System.out.println("距离生日还有 " + diffDays + " "); } } ``` 这段代码先将生日日期当前日期都设置为零点,然后通过比较当前日期生日日期,判断生日是否已经过去。如果已经过去,则将生日年份设置为下一年,否则设置为今年。最后计算出两个日期的毫秒差,除以一天的毫秒数得到相差的数。 注意:该计算是基于公历日期的简单计算,不考虑闰年和其他历法的影响。在实际应用中,可能需要考虑更加精确的算法。 ### 回答3: 为了计算生日还有多少,首先要知道当前日期生日日期。可以使用Java日期相关类来获取当前日期,如LocalDate类。然后,将生日日期设置为所需的日期并使用LocalDate类计算两个日期之间的差距。 下面是一个简单的Java代码示例来计算生日还有多少: ```java import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class CalculateDaysUntilBirthday { public static void main(String[] args) { // 获取当前日期 LocalDate currentDate = LocalDate.now(); // 设置生日日期 LocalDate birthday = LocalDate.of(2022, 1, 1); // 假设生日是2022年1月1日 // 计算生日还有多少 long daysUntilBirthday = ChronoUnit.DAYS.between(currentDate, birthday); System.out.println("离生日还有 " + daysUntilBirthday + " "); } } ``` 在这个示例中,首先获取当前日期并将其存储在`currentDate`变量中。然后,使用`LocalDate.of()`方法设置生日日期并将其存储在`birthday`变量中。接下来,使用`ChronoUnit.DAYS.between()`方法计算当前日期生日日期之间的差距,并将结果存储在`daysUntilBirthday`变量中。最后,将结果打印出来,即得到离生日还有多少

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值