编写一个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 阅读 553 次 更新于 2025-09-07 07:55:14 我来答关注问题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 { /** * 判断该年份是不是闰...

  • 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编写程序 任意两个输入两个整数 输出它们相加的结果

    import java.util.Scanner;public class Program1 {public static void main(String[] args) {Scanner i = new Scanner(System.in);int a = i.nextInt();int b = i.nextInt();if (a > 100 || a < 10 || b>100 ||b

  •  深空见闻 java 从dto取某些字段复制给另一个字段怎么写

    在Java中,从DTO(Data Transfer Object)取某些字段复制给另一个对象的字段,可以通过手动拷贝或使用一些工具类(如Apache Commons BeanUtils,但需注意其局限性)来实现。一、手动拷贝 定义类:首先定义源DTO类和目标类,并确保它们具有需要拷贝的字段。创建实例:然后创建源DTO对象和目标对象的实例。编写...

  •  sun_rain_ice 用java编写程序实现比较两个数的大小,输出比较结果,比如输入5,3,输出5比3大。

    public static void main(String[] args) { // TODO Auto-generated method stub Scanner s1 = new Scanner(System.in);System.out.println("请输入第一个数字:");int a = Integer.parseInt(s1.nextLine());Scanner s2 = new Scanner(System.in);System.out.println("请输入第二个数字:")...

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

Java相关话题

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