定义一个方法,可以计算出两个日期之间相差多少天 例如:2015年2月17日到2015年3月29日中间一共有多少天?

本文主要是介绍定义一个方法,可以计算出两个日期之间相差多少天 例如:2015年2月17日到2015年3月29日中间一共有多少天?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

定义一个方法,可以计算出两个日期之间相差多少天

例如:2015年2月17日到2015年3月29日中间一共有多少天?
在这里插入图片描述

import java.util.Scanner;
public class Four {public static void main (String[] args){Scanner input = new Scanner(System.in);System.out.println("请输入第一个年月日");String str1 = input.next();System.out.println("请输入第二个年月日");String str2 = input.next();day(str1,str2);}public static int day(String s1,String s2){String years1 = " ";String years2 = " ";String month1 = " ";String month2 = " ";String day1 =" ";String day2 = "";for (int i = 0; i <4 ; i++) {years1 += s1.charAt(i);years2 += s2.charAt(i);}for (int i = 5; i <7 ; i++) {if (s1.charAt(i) != '年') {month1 += s1.charAt(i);}if (s2.charAt(i) != '年') {month2 += s2.charAt(i);}}if(s1.charAt(6) != '月'){for (int i = 8; i <10 ; i++) {day1 += s1.charAt(i);}}else{for (int i = 7; i <9 ; i++) {day1 += s1.charAt(i);}}if(s2.charAt(6) != '月'){for (int i = 8; i <10 ; i++) {day2 += s2.charAt(i);}}else{for (int i = 7; i <9 ; i++) {day2 += s2.charAt(i);}}int years = 0;int month = 0;int day =0;int SumYearDay=0;for(int i = Integer.parseInt(years1);i<Integer.parseInt(years2);i++){SumYearDay += (i%400==0||(i%100!=0&&i%4==0) ? 366 : 365);}for(int i = 1;i<=month;i++){switch (i) {case 2:// 闰年二月29天,平年28天day = years % 400 == 0 || (years % 100 != 0 && years % 4 == 0) ? 29 : 28;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;default:day = 30;}if(i!=month){      // 条件不成立,不加SumYearDay += day;            // 用年份的总天数加上月份的总天数得出总天数}}return SumYearDay;}
}

这篇关于定义一个方法,可以计算出两个日期之间相差多少天 例如:2015年2月17日到2015年3月29日中间一共有多少天?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/199138

相关文章

sql语句字段截取方法

《sql语句字段截取方法》在MySQL中,使用SUBSTRING函数可以实现字段截取,下面给大家分享sql语句字段截取方法,感兴趣的朋友一起看看吧... 目录sql语句字段截取sql 截取表中指定字段sql语句字段截取1、在mysql中,使用SUBSTRING函数可以实现字段截取。例如,要截取一个字符串字

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代