JAVA 计算时间差

比如:现在是2004-03-26 13:31:40 
       过去是:2004-01-02 11:30:24 
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 
方法一:

 1 DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 2 try
 3 {
 4     Date d1 = df.parse("2004-03-26 13:31:40");
 5     Date d2 = df.parse("2004-01-02 11:30:24");
 6     long diff = d1.getTime() - d2.getTime();
 7     long days = diff / (1000 * 60 * 60 * 24);
 8 }
 9 catch (Exception e)
10 {
11 } 

方法二:

1 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2    java.util.Date now = df.parse("2004-03-26 13:31:40");
3    java.util.Date date=df.parse("2004-01-02 11:30:24");
4    long l=now.getTime()-date.getTime();
5    long day=l/(24*60*60*1000);
6    long hour=(l/(60*60*1000)-day*24);
7    long min=((l/(60*1000))-day*24*60-hour*60);
8    long s=(l/1000-day*24*60*60-hour*60*60-min*60);
9    System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");

方法三:

1 SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2    java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
3    java.util.Date end = dfs.parse("2004-03-26 13:31:40");
4    long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒
5    long day1=between/(24*3600);
6    long hour1=between%(24*3600)/3600;
7    long minute1=between%3600/60;
8    long second1=between%60/60;
9    System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");

比较时间:

 1 String s1="2008-01-25 09:12:09";
 2 String s2="2008-01-29 09:12:11";
 3 java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 4 java.util.Calendar c1=java.util.Calendar.getInstance();
 5 java.util.Calendar c2=java.util.Calendar.getInstance();
 6 try
 7 {
 8 c1.setTime(df.parse(s1));
 9 c2.setTime(df.parse(s2));
10 }catch(java.text.ParseException e){
11 System.err.println("格式不正确");
12 }
13 int result=c1.compareTo(c2);
14 if(result==0)
15 System.out.println("c1相等c2");
16 else if(result<0)
17 System.out.println("c1小于c2");
18 else
19 System.out.println("c1大于c2"); 
时间: 2024-10-06 02:59:16

JAVA 计算时间差的相关文章

java计算时间差

java实现计算时间差 正式版:       /** * 计算时间差,求出两者相隔的时间 * * @param nowDate *            当前时间 * @param calculateDate *            计算的时间 * @return */ public static long calculateTime(Date nowDate, Date calculateDate) { long ret = 0; try { long t = nowDate.getTime

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(&quo

Java 计算中英文长度的若干种方法

在项目开发中经常碰到到输入字符的校验,特别是中英文混合在一起的校验.而为了满足校验的需求,有时需要计算出中英文的长度. 本文将通过几种常用的方法实现长度的计算: <span style="font-size:18px;">import java.io.UnsupportedEncodingException; /** * 中英文校验的处理 * @author a123demi * */ public class EnChValidate { public static vo

用Java计算某个日期100天后的日期

用Java计算日期时间,首先考虑到时间类,Java中提供的和时间日期相关的类里,有一个Calendar类,可以获取某个时间日期. 计算某个日期100天后的日期,思路如下: 1.先设定时间,例如2017年1月1日: 2.在给定日期的天数上增加100: 具体代码如下: 1 /* 2 * 1.先给定一个时间,例如2017年1月1日 3 */ 4 Calendar cld = Calendar.getInstance(); 5 cld.set(Calendar.YEAR, 2017); 6 cld.se

asp.net中C#中计算时间差代码

我用的最简单的办法是 代码如下 复制代码 DateTime dtone = Convert.ToDateTime("2007-1-1 05:32:22");DateTime dtwo = Convert.ToDateTime("2007-1-1 04:20:15");TimeSpan span = dtone.Subtract(dtwo);Response.Write(span.Days + "天" + span.Hours + "小时

【转载】c/c++在windows下获取时间和计算时间差的几种方法总结

一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: #include <time.h> #include <stdio.h> int main() { time_t start ,end ; double cost; time(&start); sleep(1); time(&en

登录超时自动退出,计算时间差-b

// 此方法适用于所有被创建过的controller,且当前controller生命周期存在,如有错误的地方望大神斧正 //  说一下我们的需求和实现原理,需求:在点击home键退出但没有滑飞它,5分钟之后需要重新登录(其实和平安一账通的登录很像) :实现原理:添加观察者,不用我们手动发送通知,系统会自动发送通知,计算时间差,然后就可以啦?? //  贴代码图片 屏幕快照 2016-09-22 下午2.54.31.png //  我是控制的300s,就是5分钟,超过就弹个框,点击后退出 屏幕快照

java计算两日期间隔小时或分钟

public static void main(String[] args) {        try {            long min = dateDiff("2014-05-27 13:30:00","2014-05-27 13:00:00","yyyy-MM-dd HH:mm:ss");            System.out.println("---------相隔分钟数: "+min);        

计算时间差

一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: [c-sharp] view plain copy #include <time.h> #include <stdio.h> int main() { time_t start ,end ; double cost; time(&star