我想用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");
}
}
给定日期
(用于生日)和新日期()
(用于现在),您可以使用calendar.get(DAY_OF_YEAR)。需要考虑到年份(即生日在今天之前),但这种方式考虑到闰年等。
您可以使用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”) 我如何包括闰年和夏季? 我的代码: