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-20 00:25:56

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

Java中计算时间差的方法_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

分享javascript计算时间差的示例代码_javascript技巧

在实际应用中,需要计算两个时间点之间的差距,一般来说都是计算当前时间和一个指定时间点之间的差距,并且有时候需要精确到天.小时.分钟和秒,下面就简单介绍一下如何实现此效果. 效果图: 距离新年: 代码如下: <html> <head> <title>javascript计算时间差</title> <style type="text/css"> #thenceThen { font-size:2em; } </style&g

Java Cache-EHCache系列之计算实例占用的内存大小(SizeOf引擎)

在EHCache中,可以设置maxBytesLocalHeap.maxBytesLocalOffHeap.maxBytesLocalDisk值,以控制Cache占用的内存.磁盘的大小(注:这里Off Heap是指Element中的值已被序列化,但是还没写入磁盘的状态,貌似只有企业版的EHCache支持这种配置:而这里maxBytesLocalDisk是指在最大在磁盘中的数据大小,而不是磁盘文件大小,因为磁盘文中有一些数据是空闲区),因而EHCache需要有一种机制计算一个类在内存.磁盘中占用的字

java计算时间日期间隔程序

计算时间差 **/  代码如下 复制代码     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");     String systemTime = sdf .format(new Date()).toString();     将截取到的时间字符串转化为时间格式的字符串 **/     Date begin=sdf.parse(2008-03-28 11:55:30);     Date end =

java计算两个时间相差天数的方法汇总_java

问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 /** * date2比date1多的天数 * @param date1 * @param date2 * @return */ public static int differentDays(Date date1,Date date2) { Calendar cal

js时间比较 js计算时间差的简单实现方法_javascript技巧

页面使用dateTimePicker获取数据类型为"12:12:12" 如果输入"11:11:11"要自动计算两者时间差 代码如下: var a="12:49:00",b="14:49:00"; s=a.split(":"); e=b.split(":"); var daya = new Date(); var dayb = new Date(); daya.setHours(s[0])

一段时间-java计算两个日期间有多少自然周

问题描述 java计算两个日期间有多少自然周 给定一个开始日期和一个结束日期,开始日期如果是周六或周天,那么这就不算一周.结束日期哪怕是周一也要算是一周.最好能有代码,谢谢! 解决方案 有点小失误,修改过的 public static int get(Date dtS, Date dtE) { Calendar calS = Calendar.getInstance(); calS.setTime(dtS); boolean isMonday = true; Calendar calE = Ca

C#比较两时间大小

比较 1.比较时间大小的实验  string st1="12:13";   string st2="14:14";   DateTime dt1=Convert.ToDateTime(st1);   DateTime dt2=Convert.ToDateTime(st2);   DateTime dt3=DateTime.Now;   if(DateTime.Compare(dt1,dt2)>0)    msg.Text=st1+">"