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-11-05 15:55:22

java计算时间差及比较时间大小(转)的相关文章

php计算时间差/两个时间日期相隔的天数,时,分,秒.

<?php function timediff( $begin_time, $end_time ) { if ( $begin_time < $end_time ) { $starttime = $begin_time; $endtime = $end_time; } else { $starttime = $end_time; $endtime = $begin_time; } $timediff = $endtime - $starttime; $days = intval( $timed

java计算时间差

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

Java计算一个对象占用内存的大小

在C/C++中计算某一个基本类型或者对象占用内存大小的方法很简单,只要调用库里面的sizeof()操作符即可,但是在Java的API里面并没有给我们提供类似的方法.那么我们可不可以自己实现一个Java中的sizeof()方法呢?答案是肯定的.为了计算一个Java对象占用内存的大小,首先你得对Java对象的内存结构有所了解.如果你还不了解,请先阅读Java内存结构. 首先介绍一下sun.misc.Unsafe类,该类是Java中很神奇的一个类,这个类是用于执行低级别.不安全操作的方法集合.尽管这个

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

php计算时间差是什么时间之后

做出来的效果就是上面这样. 代码: function timeformat($time){ $day = $hour = $min = $sec = 0; $day = floor($time/86400); $hour = floor(($time%86400)/3600); $min = floor(($time%3600)/60); $sec = $time%3600%60; $str = ""; if ($day) $str.="{$day}天,"; if

【转载】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

linux获取时间函数及计算时间差

参考:   http://www.cnblogs.com/krythur/archive/2013/02/25/2932647.html 第一章  获取时间函数 1. char * asctime(const struct tm * timeptr); 函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回.此函数已经由时区转换成当地时间,字符串格式为:"Wed Jun 30 21:49:08 1993\n&quo

c和c++在windows下获取时间和计算时间差的方法总结

c/c++在windows下获取时间和计算时间差的几种方法总结 一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: 1 #include <time.h> 2 #include <stdio.h> 3 4 int main() 5 { 6 time_t start, end; 7 double c

获取时间和计算时间差的几种方法总结

转载自:http://blog.csdn.net/coder_xia/article/details/6566708 一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: 1 #include <time.h> 2 #include <stdio.h> 3 int main() 4 { 5 time