解决方案 »

  1.   

    public static String dateCaculate(String createTime,String restartTime){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String result = "";
    Long t = null;
    Date formatCurrentDate = null;
    Date formatCreateTime = null;
    Date formatRestartTime = null;
    if(restartTime==null){
    try {
    formatCurrentDate = sdf.parse(sdf.format(new Date()));
    formatCreateTime = sdf.parse(createTime);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    t = formatCurrentDate.getTime()-formatCreateTime.getTime();
    }else{
    try {
    formatCurrentDate = sdf.parse(sdf.format(new Date()));
    formatRestartTime = sdf.parse(restartTime);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    t = formatCurrentDate.getTime()- formatRestartTime.getTime();
    }
    Long day = t/(24*60*60*1000);
    Long hour= ((t/(60*60*1000))-day*24);
    Long min= ((t/(60*1000))-day*24*60-hour*60);
    Long sec = (t/1000-day*24*60*60-hour*60*60-min*60);
    result = ""+day+"天"+hour+"小时"+min+"分"+sec+"秒";
    return result;
    }
      

  2.   

    我是直接拿到日期运算的,要疯啊表示、、、
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String intime="2014-07-24";
    Date d1;
    try {
    d1 = sdf.parse(intime);
    Date d2=new Date();
    long date =0;
    date=(d1.getTime()-d2.getTime());
    long num=24*60*60*1000;
    if(date>num){
    System.out.println("****"+date/num);
    }
    date= ((d1.getTime()-d2.getTime())/(1000 * 60 * 60 * 24));
    System.out.println("date:"+date);
    } catch (ParseException e) {
    e.printStackTrace();
    }
      

  3.   

    嘿嘿   兄弟们  谢谢啦,   我弄好了,原来是我new Date()获取的时间忘记格式化了,我刚刚parse了一下就ok啦,谢谢你们的回答^^
      

  4.   

    http://zhidao.baidu.com/question/1494116539347487059.html   LZ看一下吧
      

  5.   

    还有一个简单的方法就是将其转成long型的数据,然后相减进行转化,就不用判断年份呀月份这么麻烦的东西
    换成时间戳来搞定吧