java 输入一个时间然后计算与当前时间的差, 并且输出当前时间!

java 输入一个时间然后计算与当前时间的差, 并且输出当前时间!,第1张

public static void main(String[] args){

String inuput_dt="";

SimpleDateFormat sdf = new SimpleDateFormat(fmt);

Date dt= sdfparse(str);//转换成功的Date对象

Long time = dtgetTime();//这就是距离1970年1月1日0点0分0秒的毫秒数

Long time2 = SystemcurrentTimeMillis();//与上面的相同,获取系统当前时间毫秒数

Systemoutprintln(time-time2);//输出输入时间与当前时间的时间差,结果是毫秒数

int year=0;

int moth=0;

int day=0;

Calendar c=CalendargetInstance();//获得系统当前日期

year=cget(CalendarYEAR);

month=cget(CalendarMONTH)+1;//系统日期从0开始算起

day=cget(CalendarDAY_OF_MONTH);

Systemoutprintln("当前系统时间:"+year+"年"+month+"月"+day+"日");//

}

orgapachecommonsnetftpFTPClient;

java 获取ftp文件的最后修改时间比实际时间少了8小时代码如下:FTPFile[] files = ftpClientlistFiles();

for (FTPFile file : files){

Systemoutprintln(filegetName());

Date date = filegetTimestamp()getTime();

Systemoutprintln(文件修改 + dateFormatformat(date));

Date date1 = new Date();

Systemoutprintln(now + dateFormatformat(date1));

long f = date1getTime() -dategetTime();

Systemoutprintln(时间差 + f/60000+分);}------解决方案--------------------------------------------------------

FTPFilegetTimestamp()getTime()

javaioFilelastModified()

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

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

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

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

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

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

package comtesttimeinterval;

import javaioBufferedReader;

import javaioInputStreamReader;

import javatextSimpleDateFormat;

import javautilDate;

public class TestTimeInterval {

public static void main(String[] args) {

try {

// 得到系统输入的内容

Systemoutprintln("请输入入睡时刻,用:隔开:");

InputStreamReader isr_begin = new InputStreamReader(Systemin);

BufferedReader br_begin = new BufferedReader(isr_begin);

String beginInputValue = br_beginreadLine();

Systemoutprintln("入睡时间为:" + beginInputValue);

Systemoutprintln("请输入起床时刻,用:隔开:");

InputStreamReader isr_end = new InputStreamReader(Systemin);

BufferedReader br_end = new BufferedReader(isr_end);

String wakeupInputValue = br_endreadLine();

Systemoutprintln("起床时间为:" + wakeupInputValue);

// 1将入睡时间拼接成一个完整的日期

String sleepTimeStr = getCurrDay() + " " + beginInputValue;

// 11转换成日期格式

Date sleepTime = convertStrToDate(sleepTimeStr);

// 2将起床时间拼接成一个完整的日期

String wakeupTimeStr = getCurrDay() + " " + wakeupInputValue;

// 21转换成日期格式

Date wakeupTime = convertStrToDate(wakeupTimeStr);

// 计算2个日期之差

long interval = wakeupTimegetTime() - sleepTimegetTime();

Systemoutprintln("相差的毫秒是:" + interval);

// 3将long转化成时分秒

// 31先得到时

int hour = new Long(interval / (1000  60  60))intValue();

// 32再得到分

int tempLeft_minute = new Long(interval % (1000  60  60))

intValue();

// 321 得到分

int minute = new Long(tempLeft_minute / (1000  60))intValue();

// 41 得到秒

int tempLeft_second = new Long(tempLeft_minute % (1000  60))

intValue();

// 421 得到分

int second = new Long(tempLeft_second / 1000)intValue();

Systemoutprintln("睡觉的时间为" + hour + "时," + minute + "分," + second

+ "秒");

} catch (Exception e) {

eprintStackTrace();

}

}

private static String getCurrDay() throws Exception {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

return sdfformat(new Date());

}

private static Date convertStrToDate(String dateStr) throws Exception {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return sdfparse(dateStr);

}

}

以上就是关于java 输入一个时间然后计算与当前时间的差, 并且输出当前时间!全部的内容,包括:java 输入一个时间然后计算与当前时间的差, 并且输出当前时间!、java 获取ftp文件的最后修改时间比实际时间少8小时,该怎么处理、JAVA新手,计算两个时间差等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9562377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存