我想要用java写求任意两个日期之间的天数可是一直写不出来求求大佬们看看qaq!!

qq_46432145 2020-02-28 07:21:46
package cn.cqsw;

import java.util.Scanner;

public class java4 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入想算距离的两年");
System.out.println("输入第一年的年份");
int nian=sc.nextInt();
System.out.println("输入第一年的月份");
int yue=sc.nextInt();
System.out.println("数日第一年的号数");
int ri=sc.nextInt();
System.out.println("输入第二年的年份");
int nian1=sc.nextInt();
System.out.println("输入第二年的月份");
int yue1=sc.nextInt();
System.out.println("数日第二年的号数");
int ri1=sc.nextInt();
int sum=0;
sum=sum+ri1+ri;
for (int i =1; i <yue; i++) {
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum+=31;
break;
case 4:
case 6:
case 9:
case 11:
sum+=30;
break;
case 2:
if(nian%4==0 && nian%100!=0 || nian%400==0){
sum+=29;
}else{
sum+=28;
}
}
if(nian%4==0&&nian%100!=0||nian%400==0){
sum=365-sum;
}else{
sum=366-sum;
}
for (int i1 =1; i1 <yue1; i1++) {
switch(i1){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum+=31;
break;
case 4:
case 6:
case 9:
case 11:
sum+=30;
break;
case 2:
if(nian1%4==0 && nian1%100!=0 || nian1%400==0){
sum+=29;
}else{
sum+=28;
}
}

}
}
for (int i = nian; i < nian1; i++) {
if(i%4==0 && i%100!=0 || i%400==0){
sum+=366;
}else{
sum+=365;
}
}
System.out.println(sum);
}
}


...全文
171 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
	public static long getDifferentDay(String day1, String day2) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return (simpleDateFormat.parse(day2).getTime() - simpleDateFormat.parse(day1).getTime()) / 1000;
} catch (ParseException e) {
log.error(e.getMessage(), e);
return 0;
}
}

public static String getFolderNameSuffix() {
return getCurrentTimeStr("yyyyMM");
}
moyuan123 2020-02-29
  • 打赏
  • 举报
回复
//开始时间
Date date=new Date();
long start_time=date.getTime();
线程等2天
Thread.sleep(1000*60*60*24*2);
Date endDate=new Date();
long end_time=endDate.getTime();
//计算相差毫秒数
long sp=endTime-startTime;
//计算天
int day=sp/1000/60/60/24;
一只三黄鸡 2020-02-29
  • 打赏
  • 举报
回复
直接转换成毫秒,然后减一下再取绝对值(这样小的也可以减大的,无需判断时间大小)。然后得到的值/1000/24/60/60就是天数(记得取整)。可能不是最好的方法,但是一定好理解
qq_46432145 2020-02-29
  • 打赏
  • 举报
回复
引用 2 楼 一只三黄鸡的回复:
直接转换成毫秒,然后减一下再取绝对值(这样小的也可以减大的,无需判断时间大小)。然后得到的值/1000/24/60/60就是天数(记得取整)。可能不是最好的方法,但是一定好理解
啊 听不懂 好高深
qq_46432145 2020-02-29
  • 打赏
  • 举报
回复
引用 1 楼 qybao的回复:
不用那么麻烦,用两个Calendar,算一下它们的日数差就可以了
我们现在只学了if for 循环 害 能不能教教我怎么写🙈
qybao 2020-02-28
  • 打赏
  • 举报
回复
不用那么麻烦,用两个Calendar,算一下它们的日数差就可以了
内容概要:本文介绍了WiFiSupply斯普莱WFS7000XB-F 5.8G 300M裸装防水型工业级大功率机载无线AP基站,该设备支持5.8GHz全频段(4920MHz~6100MHz),采用2T2R MIMO技术和TDMA时分多址机制,具备高达300Mbps的无线速率和150Mbps以上的实际吞吐量。设备发射功率达30dBm(1000mW),接收灵敏度为-96dBm,支持点对点桥接最远150公里以上。产品具备IP68防护等级,可在-45℃~85℃极端环境下稳定运行,支持POE双电源冗余供电,集成防浪涌、防静电、电磁屏蔽等多重防护设计。搭载斯普莱自研AI智能FastRoaming技术,实现20ms内的快速无缝漫游切换,支持VLAN、QoS、VPN、防火墙、巨量安全隧道等多项高级网络功能,并可通过云平台或本地进行集中管理,适用于工业4.0、智慧物流、AGV/AMR小车、无人机遥控等多种场景。; 适合人群:从事工业自动化、物联网、智能物流、无线网络工程等相关领域的技术人员及系统集成商,具备一定网络基础知识的工程师或项目决策人员。; 使用场景及目标:①用于AMR/AGV/RGV、巡检机器人、无人叉车等移动设备的高速稳定无线通信;②实现远距离无线桥接与全覆盖,如港口、矿山、仓储、轨道交通等复杂环境下的数据传输;③构建高安全、高可靠工业无线网络,支持PLC协议传输与远程集中管控; 阅读建议:此资源详细展示了产品的技术参数与应用场景,建议结合具体项目需求重点查阅其无线性能、防护等级、漫游能力和安全机制,以便在工业现场部署中发挥最优效能。
内容概要:本文围绕二维稳态热传导偏微分方程,研究在具有指定边界温度条件的方形壁内采用高斯-塞德尔迭代法求解各节点温度分布的问题。通过将连续的导热微分方程进行空间离散化,转化为代数方程组,并利用高斯-塞德尔迭代法进行数值求解,详细阐述了算法的数学原理、迭代过程、收敛判据及编程实现流程。文中提供了完整的Matlab代码实现,通过对温度场的仿真计算,验证了该方法在处理稳态导热问题中的有效性、精度和收敛稳定性,有助于深入理解数值传热学的基本思想与计算技术。; 适合人群:具备传热学、数值分析基础以及Matlab编程能力的理工科研究生、科研人员或高年级本科生。; 使用场景及目标:①掌握稳态热传导问题的数值建模与离散化方法;②深入理解高斯-塞德尔迭代法的原理及其在偏微分方程求解中的应用;③通过Matlab编程实践提升科学计算与仿真能力,适用于能源、材料、机械等领域的热分析与工程仿真研究。; 阅读建议:建议读者结合传热学基本理论,首先理解导热控制方程和边界条件的物理意义,然后逐步阅读并运行所提供的Matlab代码,观察不同网格密度、松弛因子和收敛阈值对计算结果精度与迭代效率的影响,以深化对数值算法稳定性和收敛性的认识。

58,439

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧