大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
亲,假设
成都创新互联是专业的社旗网站建设公司,社旗接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行社旗网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
现在是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计算两个日期时间相差几天,几小时,几分钟,其实好简单就可以实现jsp,java中计算两个时间差了
public class Test {
public void dateDiff(String startTime, String endTime, String format) {
//按照传入的格式生成一个simpledateformate对象
SimpleDateFormat sd = new SimpleDateFormat(format);
long nd = 1000*24*60*60;//一天的毫秒数
long nh = 1000*60*60;//一小时的毫秒数
long nm = 1000*60;//一分钟的毫秒数
long ns = 1000;//一秒钟的毫秒数long diff;try {
//获得两个时间的毫秒时间差异
diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();
long day = diff/nd;//计算差多少天
long hour = diff%nd/nh;//计算差多少小时
long min = diff%nd%nh/nm;//计算差多少分钟
long sec = diff%nd%nh%nm/ns;//计算差多少秒//输出结果
System.out.println("时间相差:"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒。");
java 计算两个时间相差可以用getTime()来获得两个时间的毫秒数,可以这样计算得出两个时间的秒数的相差如下:
public int calLastedTime(Date startDate) {
long a = new Date().getTime();
long b = startDate.getTime();
int c = (int)((a - b) / 1000);
return c;
}
扩展资料:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
参考资料:百度百科-JAVA
java 计算两个时间相差可以用getTime()来获得两个时间的毫秒数,可以这样计算得出两个时间的秒数的相差如下:
Date a = new Date();
Thread.sleep(3000);
Date b = new Date();
long interval = (b.getTime() - a.getTime())/1000;
System.out.println("两个时间相差"+interval+"秒").
Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。java的应用已十分广泛。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。Java的用途:80%以上的高端企业级应用都使用JAVA平台(电信、银行等)。
我的思路:在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);
}
}