温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JAVA怎么求两个日期的差值

发布时间:2021-08-23 18:08:22 来源:亿速云 阅读:269 作者:chen 栏目:编程语言

这篇文章主要介绍“JAVA怎么求两个日期的差值”,在日常操作中,相信很多人在JAVA怎么求两个日期的差值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA怎么求两个日期的差值”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


  1. import java.util.Scanner;

  2. class fundemo6{

  3. public static void main(String[] arg){

  4.     Scanner s=new Scanner(System.in);

  5.     System.out.println("Please input first date year:");

  6.     int y1=s.nextInt();

  7.     System.out.println("Please input first date month:");

  8.     int m1=s.nextInt();    

  9.     System.out.println("Please input first date day:");

  10.     int d1=s.nextInt();    

  11.     System.out.println("The first date you input is:"+y1+"-"+m1+"-"+d1);

  12.     System.out.println("Please input second date year:");

  13.     int y2=s.nextInt();

  14.     System.out.println("Please input second date month:");

  15.     int m2=s.nextInt();    

  16.     System.out.println("Please input second date day:");

  17.     int d2=s.nextInt();    

  18.     System.out.println("The second date you input is:"+y2+"-"+m2+"-"+d2);

  19.     System.out.println("sub days of two years is:"+subDays(y1,m1,d1,y2,m2,d2));

  20.     }

  21. public static int getDays(int y,int m,int d){

  22.     int sum=0;

  23.     switch(m-1){

  24.     case 11:sum+=30;

  25.     case 10:sum+=31;

  26.     case 9:sum+=30;

  27.     case 8:sum+=31;

  28.     case 7:sum+=31;

  29.     case 6:sum+=30;

  30.     case 5:sum+=31;

  31.     case 4:sum+=30;

  32.     case 3:sum+=31;

  33.     case 2:if(isLeap(y))

  34.                 sum+=29;

  35.                 else

  36.                 sum+=28;

  37.     case 1:sum+=31;

  38.     }

  39.     sum+=d;

  40.     return sum;

  41.     }

  42. public static boolean isLeap(int y){

  43.     if(y%100!=0&&y%4==0||y%400==0)

  44.         return true;

  45.         return false;

  46. }

  47. public static int otherDays(int y,int m,int d){

  48.     if(isLeap(y))

  49.     return 366-getDays(y,m,d);

  50.     return 365-getDays(y,m,d);

  51. }

  52. public static int subDays(int y1,int m1,int d1,int y2,int m2,int d2){

  53.     if(y1==y1)

  54.         int day1=getDays(y1,m1,d1)-getDays(y2,m2,d2);

  55.     return abs(day1);

  56. }

  57. public static int abs(int n){

  58.     return n>=0?n:-n;

  59. }

  60. }

到此,关于“JAVA怎么求两个日期的差值”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI