当前位置: 首页 > 知识库问答 >
问题:

如何使用Java计算生日的剩余天数[副本]

微生新霁
2023-03-14

我想用Java计算生日的剩余天数。如果今天的日期等于输入的日期,我日志今天是我的生日。如果今天的日期不等于输入的日期,我要计算生日的剩余天数。我怎么能那样做?

我的代码:

public class BirthdayCountdown {

    public static void bdayCounter(String bday) throws Exception {
        SimpleDateFormat formatter= new SimpleDateFormat("dd-MM-yyyy");
        Date today = new Date();
        Date birthdate =new SimpleDateFormat("dd-MM-yyyy").parse(bday); 
        String formattedToday = formatter.format(today);
        String[] todayArr = formattedToday.split("-");
        String[] bdayArr = bday.split("-");
        
        
        if(todayArr!=null && bdayArr!=null &&(todayArr[0]+todayArr[1]).equals(bdayArr[0]+bdayArr[1])) {
            int todayYear = Integer.parseInt(todayArr[2]);
            int bdayYear = Integer.parseInt(bdayArr[2]);
            int yearDiff = todayYear - bdayYear;
            System.out.println("Today is your "+yearDiff+". birthday!");
        }else {
            //how many days left to my bday
        }
    }
    
    public static void main(String[] args) throws Exception {
        bdayCounter("15-03-1995");
    }
}

共有2个答案

萧宏峻
2023-03-14

给定日期(用于生日)和新日期()(用于现在),您可以使用calendar.get(DAY_OF_YEAR)。需要考虑到年份(即生日在今天之前),但这种方式考虑到闰年等。

相威
2023-03-14

您可以使用BithDay的日期设置一个新的calendar实例;实例另一个日历,计算差异,如下所示:

    Calendar calBirth = Calendar.getInstance();
    calBirth.set(your_birth);

    Calenar now = Calendar.getInstance();

    long timeRemainingInMillis = calBirth.getTimeMillis() - now.getTimeMillis()

    //Now you should convert millis in what you want i.e. day, hour, min ecc...
  
 类似资料:
  • 我已经实现了下面的代码来计算剩余的天数。我已经使用SimpleDateFormat将字符串转换为日期。如果输入10/02/1993(今天的日期)作为日期,则输出显示还剩0天。但如果我选择11/02/1993,它显示的输出与0天相同。但如果我改变月份,即1993年2月22日7月2日,它显示的是剩下160天,而不是原来的162天,这是原来的结果。我在这里做错了什么?非常感谢任何帮助。 更新:我已经更新

  • 问题内容: 给定月份剩余的天数如何找到当月剩余的天数?例如,如果当前月份为11月,而今天为16/11/2016,则月份中的天数``经过的天数=?我想动态地进行操作在我的示例中30′16 = 14 问题答案: 只需使用Datepart函数:

  • 问题内容: 我想要一个Java程序来计算两个日期之间的天数。 键入第一个日期(德语表示法;带空格:“ dd mm yyyy”) 输入第二个日期。 该程序应计算两个日期之间的天数。 如何包含include年和夏季? 我的代码: 问题答案: 你正在使用你的字符串进行一些不必要的转换。有一个SimpleDateFormat类-试试这个: 编辑:既然有一些关于此代码的正确性的讨论:它确实照顾care年。但

  • 我使用Laravel 5.3订阅用户的计划与付款处理条。我在stripe上注册了一个计划,并使用以下代码成功订阅了该计划的用户 现在用户已经订阅,但是我如何让用户在该计划中剩下的剩余天数过期。用户表、订阅表和订阅对象没有关于到期日期或天数的任何信息。

  • 问题内容: 我一直在搜索有关此主题的信息,但仍然听不懂,如果有人可以详细说明,我将非常感激。 我的任务是将两个变量除以整数除以余数。问题是,我不知道余数是什么,现在我做了类似的事情,这是通过互联网搜索得到的: 如果我例如设置(a = 43)和(b = 67) 然后我会得到这个结果: 现在,由于我不知道其余的是什么(这只是来自互联网的建议),所以我不知道这是否是正确的答案。 谢谢你的帮助, 亲切的问

  • 我想要一个计算两个日期之间天数的Java程序。 键入第一个日期(德语表示法;带空格:“dd-mm-yyyy”) 我如何包括闰年和夏季? 我的代码: