java中计算两个时间差

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(result<0)

System.out.println("c1小于c2");

else

System.out.println("c1大于c2");

时间: 2024-08-24 12:39:35

java中计算两个时间差的相关文章

db2和oracle sql 语句中计算两个时间差的语法

db2 sql语句中计算两个日期相差的语法 结束日期为:2015-10-10  11:30:00 开始日期为:2015-09-09  10:40:00 (1)timestampdiff(8,char(结束时间-开始时间) )(加时分秒计算,会舍去零数)值为744小时 (2)(days(结束时间)-days(开始时间))*24 +hour(结束时间)-hour(开始时间) (不加时分秒计算)值为745小时 (3)Days(结束日期)-days(开始日期)的值为31天 (4)Day(结束日期)-da

java中计算两个日期之间天数的程序设计。

1 //用java编写出一个以下方法计算两个日期之间天数的程序设计. 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 public class Demo4 { 7 public static void main(String[] args) { 8 try { 9 System.out.println(相差天数("2016-11-30", "2016-5-31"));

Java中计算两个字符串日期之间或当前时间与指定时间的天数差

1 public static void main(String[] args) throws ParseException { 2 /** 3 * 获取当前时间 4 * 5 */ 6 Date date = new Date(); 7 /**转换提日期输出格式*/ 8 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 9 10 11 String a = "2020-01-0

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

js/java中计算年龄

js中计算年龄  /**  * 将生日转换成年龄  */  function birthDayToAge(){  var aDate=new Date();  var thisYear = aDate.getFullYear();  var thisMonth = aDate.getMonth()+1;  var thisDay = aDate.getDate();  var currentDate = thisYear+"-"+thisMonth+"-"+this

C/C++中计算两个时间相差的天数

在系统中经常用到time()函数获取系统时间,也就是通常所说的日历时间,这个时间是从1970年1月1日0时开始到现在的秒数. 问:已有日历时间t1和t2(假设t1>t2),如何计算他们之间相差的天数. 答: day = (t1+time_zone*60*60)/time_of_day - (t2+time_zone*60*60)/time_of_day 其中time_zone表示时区间隔,比如说北京时间相比于标准时间就需要加8小时,可以参考下图.time_of_day为一天的秒数,等于24*60

Java中比较两个字符串是否相等的问题

java中判断两个字符串是否相等的问题 我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题.在编程中,通常比较两个字符串是否相同的表达式是"==",但在java中不能这么写.在java中,用的是equals(); 例:A字符串和B和字符串比较: if(A.equals(B)){ } 返回true 或false. String 的equals 方法用于比较两个字符串是否相等.由于字符串是对象类型,所以不能用简单的"=="判断.

计算两个时间差的两个函数

计算两个时间差的两个函数  两个时间之差- (NSString *)intervalFromLastDate: (NSString *) dateString1 toTheDate:(NSString *) dateString2{NSArray *timeArray1=[dateString1 componentsSeparatedByString:@"."];dateString1=[timeArray1 objectAtIndex:0]; NSArray *timeArray2=

PHP计算两个时间差的方法

<?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtotime($startdate))/86400/3600); $minute=flo