
正文
时差的java的代码 java求时间差值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
jsp.java 用Calendar 计算两个时间差多少天(时间相减)
这个是jsp.java用Calendar 计算两个时间差多少天(时间相减)时差的java的代码的代码时差的java的代码,详细如下 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal1=Calendar.getInstance(); cal1.setTime(sdf.parse(str1)); Calendar cal2=Calendar.getInstance(); cal2.setTime(sdf.parse(str2)); long l=cal2.getTimeInMillis()-cal1.getTimeInMillis(); int days=new Long(l/(1000*60*60*24)).intValue(); System.out.println("2个日期之间相差时差的java的代码:"+days+"天。");
相关问答
Q1: Java中使用什么方法可以把两个String类型的日期相减求出时间差啊?
假设有两个日期。
第一个日期为:2012年9月13日2时3分4秒
第二个日期为:2012年8月12日0时0分0秒
求二者的时间差的代码如下
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeDifference2 {
private static int days; //天数
private static int hours; //时
private static int minutes; //分
private static int seconds; //秒
//第一个字符串
public static final String FIRST = "Sep 13 02:03:04 GMT 2012";
//第二个字符串
public static final String SECOND = "Aug 12 00:00:00 GMT 2012";
public static void main(String[] args) {
//通过字符串创建两个日期对象
Date firstDate = new Date(FIRST);
Date secondDate = new Date(SECOND);
//得到两个日期对象的总毫秒数
long firstDateMilliSeconds = firstDate.getTime();
long secondDateMilliSeconds = secondDate.getTime();
//得到两者之差
long firstMinusSecond = firstDateMilliSeconds - secondDateMilliSeconds;
//毫秒转为秒
long milliSeconds = firstMinusSecond;
int totalSeconds = (int)(milliSeconds / 1000);
//得到总天数
days = totalSeconds / (3600*24);
int days_remains = totalSeconds % (3600*24);
//得到总小时数
hours = days_remains / 3600;
int remains_hours = days_remains % 3600;
//得到分种数
minutes = remains_hours / 60;
//得到总秒数
seconds = remains_hours % 60;
//打印结果
//第一个比第二个多32天2小时3分4秒
System.out.print("第一个比第二个多");
System.out.println(days+"天"+hours+"小时"+minutes+"分"+seconds+"秒");
}
}
Q2: 如何用java计算两个时间差,要精确到小时,比如2012-3-12 10:43:32 和 2012-3-12 11:00:00 相差0.几小时
代码:
public static void main(String[] args) throws Exception {
String date1 = "2012-3-12 10:43:32";
String date2 = "2012-3-12 11:00:00";
System.out.println("相差" + jisuan(date1, date2) + "小时");
}
public static double jisuan(String date1, String date2) throws Exception {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-M-d HH:mm:ss");
java.util.Date start = sdf.parse(date1);
java.util.Date end = sdf.parse(date2);
long cha = end.getTime() - start.getTime();
double result = cha * 1.0 / (1000 * 60 * 60);
return result;
}
运行结果:
相差0.27444444444444444小时
Q3: java中如何得到两个时间相差多少小时?
比较简单的方法就是使用.getTime()获取当前日期的相对毫秒数,再计算差值,最后转换成你需要的数据;
PS.
RESULT:
1天0小时0分0秒
相隔的小时数:分:秒 - 24:0:0
Q4: JAVA新手,计算两个时间差
我的思路时差的java的代码:在java里面任何完整的日期都可以转化成毫秒时差的java的代码,
然后利用毫秒之差就可以算出这2个日期的差额时差的java的代码,
但题目里面没有天时差的java的代码,只有时分秒,
所以我们可以分别在时分秒加上年月日,使之组成一个完整的日期就可以进行计算了。
以下是我的代码,可以直接拷贝在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);
}
}
Q5: java计算时间差
现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
方法一:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2004-03-26 13:31:40");
Date d2 = df.parse("2004-01-02 11:30:24");
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
}
catch (Exception e)
{
}
方法二:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2004-03-26 13:31:40");
java.util.Date date=df.parse("2004-01-02 11:30:24");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
方法三:
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒
long day1=between/(24*3600);
long hour1=between%(24*3600)/3600;
long minute1=between%3600/60;
long second1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");
====================================================
java 比较时间大小
String s1="2008-01-25 09:12:09";
String s2="2008-01-29 09:12:11";
java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Calendar c1=java.util.Calendar.getInstance();
java.util.Calendar c2=java.util.Calendar.getInstance();
try
{
c1.setTime(df.parse(s1));
c2.setTime(df.parse(s2));
}catch(java.text.ParseException e){
System.err.println("格式不正确");
}
int result=c1.compareTo(c2);
if(result==0)
System.out.println("c1相等c2");
else if(result0)
System.out.println("c1小于c2");
else
System.out.println("c1大于c2");
时差的java的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java求时间差值、时差的java的代码的信息别忘了在本站进行查找喔。






