现在有两个String行的时间
yymmddhhmmss一共12位年月日小时分秒
比如 String date1="0607101617552";
 String date2="0607091515231";
怎么date2减date1和一个mmmmss(4位分2位秒)比较  

解决方案 »

  1.   

    public static boolean compareTime(String s1, String s2, String compTo) throws ParseException
        {
            String format = "yymmddhhmmss";
            SimpleDateFormat sf = new SimpleDateFormat(format) ;
            Date d1 = sf.parse(s1) ;
            Date d2 = sf.parse(s2) ;
            long m1 = Math.abs(d1.getTime() - d2.getTime()) ; //两时间之差
            
            long t1 = Long.parseLong(compTo.substring(0,4))*60*1000 ;
            long t2 = Long.parseLong(compTo.substring(4,6))*1000 ;
            
            
            return (m1 - t1 - t2)<0;
        }
      

  2.   

    String date1="060710161755";
            String date2="060709151523"; 
            SimpleDateFormat df = new SimpleDateFormat("yyMMddhhmmss");
            try {
                Date d2 = df.parse(date1);
                Date d1 = df.parse(date2);
                long c1 = Math.abs((d1.getTime() - d2.getTime())/1000/60);
                long c2 = Math.abs((d1.getTime() - d2.getTime())/1000%60);
                String c3= c1 + "" + c2;
                System.out.println(c3);
            } catch (ParseException ex) {
                ex.printStackTrace();
            }
      

  3.   

    kevinliuu(@。@) 兄弟好象 不行的
    Date d1 = sf.parse(s1) ;
    Date d2 = sf.parse(s2) ;
    不对的,该成
    Date d1 = (Date)sf.parse(s1) ;
    Date d2 = (Date)sf.parse(s2) ;
    也不对,不能转换的
      

  4.   

    哥们,你原来的两个String,是13个数字组成,0607101617552 转换出来,不是06年7月10日 16:17:55,而是 06-07-10 16:26:12
      

  5.   

    06-7-10 16:17:55 比 06-07-10 16:26:12  早8分17秒,即497秒,即552-55=497秒这就是 SimpleDateFormat 所谓的“宽松性模式”