编写一个java方法,返回两个给定日期的相差天数

} } /** * 计算两个日期之间的天数 * * @param start * 开始日期 * @param end * 结束日期 */ public static long calculate(MyDate start, MyDate end) { long sum = 0; int startYear = start.year; int endYear = end.year; int...
编写一个java方法,返回两个给定日期的相差天数
import java.util.*;
public class MyDate{
int day;
int month;
int year;
public MyDate(){}
public MyDate(int day,int month,int year){
this.day = day;
this.month = month;
this.year = year;
}
public void funtion(MyDate d){
int newDay = d.day;
int newMonth = d.month;
int newYear = d.year;
Calendar c1 = Calendar.getInstance();
c1.set(newYear,newMonth,newDay);
long n1 = c1.getTimeInMillis();
Calendar c2 = Calendar.getInstance();
c2.set(year,month,day);
long n2 = c2.getTimeInMillis();
System.out.println( "相差天数为:" + Math.abs((n1 - n2)/24/3600000)); }
public static void main(String[] args){
MyDate d1 = new MyDate(1,1,2008);
MyDate d2 = new MyDate(2,1,2001);
d1.funtion(d2);
}
}2016-05-24
class MyDate { public int year; public int month; public int day; public MyDate(int year, int month, int day) { super(); this.year = year; this.month = month; this.day = day; }}public class CalculateDays { /** * 判断该年份是不是闰年 * * @param year * 年份 */ public static boolean isLeapYear(int year) { return year % 4 == 0 && (year % 400 == 0 || year % 100 != 0); } /** * 计算月份有多少天 * * @param year * 年 * @param month * 月份 */ public static int getDaysOfMonth(int year, int month) { if (month == 2) { return isLeapYear(year) ? 29 : 28; } if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { return 31; } else { return 30; } } /** * 计算两个日期之间的天数 * * @param start * 开始日期 * @param end * 结束日期 */ public static long calculate(MyDate start, MyDate end) { long sum = 0; int startYear = start.year; int endYear = end.year; int startMonth = start.month; int endMonth = end.month; int subMonthDays = 0; for (int yearIndex = startYear; yearIndex < endYear; yearIndex++) { sum += 365; if (isLeapYear(yearIndex)) { sum += 1; } } for (int monthIndex = 1; monthIndex < endMonth; monthIndex++) { sum += getDaysOfMonth(endYear, monthIndex); } for (int monthIndex = 1; monthIndex < startMonth; monthIndex++) { subMonthDays += getDaysOfMonth(startYear, monthIndex); } return sum + end.day - subMonthDays - start.day; } public static void main(String[] args) { MyDate start = new MyDate(2015, 5, 23); MyDate end = new MyDate(2015, 5, 27); System.out.println(calculate(start, end)); }}2016-05-24
Calendar c1 = Calendar.getInstance();Calendar c2 = Calendar.getInstance();c1.set(2015, 4, 29);c2.set(2015, 5, 20);long lna = c2.getTimeInMillis() - c1.getTimeInMillis();int na = (int) lna / (1000*3600*24); // 毫秒转换为天System.out.println(na);大概这个样子吧
如果需要的功能并不复杂,或者对效率要求比较高,可以自己写一个,java给的是 Calendar
2016-05-24
mengvlog 阅读 9 次 更新于 2025-07-19 13:44:34 我来答关注问题0
  • class MyDate { public int year; public int month; public int day; public MyDate(int year, int month, int day) { super(); this.year = year; this.month = month; this.day = day; }}public class CalculateDays { /** * 判断该年份是不是闰...

  •  通畅又勤苦的赤子 AIDE中用java编写一个mult ,定义两个整形参数,返回它们的乘积怎么搞啊?

    我猜你说的mult应该是一个方法名吧,定义了两个整形参数,返回乘积直接用*就可以了呀,看下面的代码。public class Test{public static int mult(int a, int b){return a * b;}public static void main(String[] args){int a = 1, b = 2;int result = mult(a, b);System.out.println...

  • anonymous 编写一个简单Java类Student类。 2. 编写一个简单Java类Student类?

    // 1)包含两个属性sno(学号)和age(年龄),属性全部封装。private String sno;private int age;// ① 提供一个两参构造方法对属性赋值,另外提供一个无参构造方法。public Student(String sno, int age) { this.sno = sno;this.age = age;} public Student() { } // ② 提供一个返回...

  • 在Java编程中,编写程序来比较两个数的大小是一个常见的任务。例如,我们可以设计一个简单的程序,从用户那里接收两个数字的输入,然后输出较大的那个数。首先,我们需要导入必要的包,以支持输入输出操作。然后定义一个主类Demo_8,并在其中创建一个主方法main。在这个方法中,我们首先声明了两个整型变...

  •  百度网友01d83e7 编写一个Java控制台应用程序,从键盘上接收两个数,然后计算这两个数的积,求大佬帮帮忙

    import java.util.Scanner;public class Text { public static void main(String[] args) { Scanner sc=new Scanner(System.in);System.out.println("输入第一个数");int a=sc.nextInt();System.out.println("输入第二个数");int b=sc.nextInt();System.out.println("两数的积为:"+a*b...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部