Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1449895
  • 博文数量: 254
  • 博客积分: 8696
  • 博客等级: 中将
  • 技术积分: 2961
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-03 16:46
文章分类

全部博文(254)

文章存档

2015年(4)

2014年(18)

2013年(16)

2012年(8)

2011年(25)

2010年(2)

2009年(74)

2008年(107)

分类: Java

2008-07-08 23:33:39

getTimeInMillis()方法是得到从历元那天到现在时刻的毫秒数.是一个整数,直接拿来用就可以

 Calendar a = Calendar.getInstance() ;
   Calendar b = Calendar.getInstance() ;
int x = a.getTimeInMillis()-b.getTimeInMillis()
(上述出自:)
 
 
要获得两个日期差,差的形式为: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+"秒");

(上述出自:http://hi.baidu.com/sihillver/blog/item/46ebd4ef7e7eab34acafd5a4.html)

现在存在一个问题:

long tmp;

Time time3;

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date time1=new java.util.Date( sdf.parse("2008-03-21 16:14:17"));

java.util.Date time2=new java.util.Date( sdf.parse("2008-03-21 16:34:03"));

//time1对应

tmp=time2.getTime()-time1.getTime();

time3=new Time(tmp)

System.out.println(time.toString());

怎么会出现8小时这么多??

 

阅读(4442) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~