问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA新手,计算两个时间差

发布网友 发布时间:2022-04-21 05:48

我来回答

3个回答

热心网友 时间:2022-06-18 07:49

  我的思路:在java里面任何完整的日期都可以转化成毫秒,

然后利用毫秒之差就可以算出这2个日期的差额,

但题目里面没有天,只有时分秒,

所以我们可以分别在时分秒加上年月日,使之组成一个完整的日期就可以进行计算了。

以下是我的代码,可以直接拷贝在Eclipse里运行。

p.s:你的代码我看了,没有什么问题,可能是在网站里面运行,你不应该有main函数之类的东西吧,应该用servlet啊。


package com.testtimeinterval;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestTimeInterval {

public static void main(String[] args) {
try {
// 得到系统输入的内容
System.out.println("请输入入睡时刻,用:隔开:");
InputStreamReader isr_begin = new InputStreamReader(System.in);
BufferedReader br_begin = new BufferedReader(isr_begin);
String beginInputValue = br_begin.readLine();
System.out.println("入睡时间为:" + beginInputValue);

System.out.println("请输入起床时刻,用:隔开:");
InputStreamReader isr_end = new InputStreamReader(System.in);
BufferedReader br_end = new BufferedReader(isr_end);
String wakeupInputValue = br_end.readLine();
System.out.println("起床时间为:" + wakeupInputValue);

// 1.将入睡时间拼接成一个完整的日期
String sleepTimeStr = getCurrDay() + " " + beginInputValue;
// 1.1转换成日期格式
Date sleepTime = convertStrToDate(sleepTimeStr);

// 2.将起床时间拼接成一个完整的日期
String wakeupTimeStr = getCurrDay() + " " + wakeupInputValue;
// 2.1转换成日期格式
Date wakeupTime = convertStrToDate(wakeupTimeStr);

// 计算2个日期之差
long interval = wakeupTime.getTime() - sleepTime.getTime();

System.out.println("相差的毫秒是:" + interval);

// 3.将long转化成时分秒
// 3.1先得到时
int hour = new Long(interval / (1000 * 60 * 60)).intValue();

// 3.2再得到分
int tempLeft_minute = new Long(interval % (1000 * 60 * 60))
.intValue();
// 3.2.1 得到分
int minute = new Long(tempLeft_minute / (1000 * 60)).intValue();

// 4.1 得到秒
int tempLeft_second = new Long(tempLeft_minute % (1000 * 60))
.intValue();
// 4.2.1 得到分
int second = new Long(tempLeft_second / 1000).intValue();

System.out.println("睡觉的时间为" + hour + "时," + minute + "分," + second
+ "秒");
} catch (Exception e) {
e.printStackTrace();
}
}

private static String getCurrDay() throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date());
}

private static Date convertStrToDate(String dateStr) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(dateStr);
}

}

热心网友 时间:2022-06-18 07:49

你不需要定义2个Scanner。用同一个它在换行输入时候也只会按你的命令输入int.另外你需要在main方法结尾的大括号前加上Scanner 的关闭。例如定义Scanner sc的话。结尾要加上sc.close();

热心网友 时间:2022-06-18 07:50

public static long compute(Date d1,Date d2){
return d1.getTime() - d2.getTime();
}
public static void main(String []args){
Scanner sc = new Scanner(System.in);
String d1,d2;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("please enter a begin time,like this:1987-01-01 22:01:01");
d1 = sc.nextLine();
// 这里做必要的非空或是日期解析判断
System.out.println("please enter a awake time,like this:1987-01-01 08:01:01");
d2 = sc.nextLine();
// 这里做必要的非空或是日期解析判断
try{
System.out.println("the result:" + compute(sdf.parse(d1),sdf.parse(d1)));
}catch(Exception e){
// 可以输出异常信息,可能空指针或是日期解析异常
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
路由器网线一米多少钱 东芝电视怎么投屏安卓手机 东芝电视怎么投屏 东芝电视投屏功能在哪里 指甲根部半月白 ...在指甲中部黑线长起 还有就是月牙上有白色一块 都在同一个指_百度... 我农业银行五年定期无密码存款,身份证没了,仅凭身份证复印件和存款单... 混凝土强度回弹怎么测算推定值,是否满足要求?一篇文章讲明白_百度知 ... 发动机舱有胶皮味跟安装防盗器有关系吗 cb400f启动后有股胶皮味道 一个袋子装了半袋米,倒出三分之一多1千克后还剩19千克... java 计算两个时间之间的差。 java计算两个时间相差多少小时 java时间差计算 java date 计算时间差 java如何计算工作日之间的时间差 Java计算两个日期时间相差几天,几小时,几分钟等 java 计算两个时间相差多少秒 java中怎么获取时间差? java计算时间差的几种方法 奢侈品有哪些上市公司 公司企业类型有什么? 证券投资选修课期末论文 关于股票的分析报告 公司注销详细流程? 公司注销都需要什么资料 404 Not Found 净资产为负多久退市? 新时代信托重组方是谁 14年华鑫股份半年报什么时侯能出来 小米10来消息呼吸灯怎么设置 word文档中的表格大小调整 java中%代表什么意思? 怎么在java中输入一个数,然后输出结果? java 比较时分秒时间差 java中标识符的使用问题 java 获取当前时间与零点的时间差 java时间加减 java中如何在代码中判断时间过了10秒 计算Java程序执行时间的几种方法 通过java如何计算sql数据库中两个时间差 iphone 4 的apple ID 密码忘记了怎么找回? 有些文件上标有什么字什么号的,那是什么意思?那能够反映文件的一些什么内容? 苹果4手机忘记ID密码怎么恢复原厂设置? 苹果4忘记了ID和密码怎么激活? 电脑里带编号的文件是什么? 苹果4需要激活但是id密码忘了怎么办! 电脑带编号文件是什么文件 苹果四忘了ld密码怎么办 哪些红头文件要编号 苹果4的apple id密码忘了怎么办 有详细清单编码的文件是什么书