日期是14位的
如:
开始时间
 20070523111700
结束时间
 20070531180000如何能知道
  结束时间-开始时间=差几天谢谢各位

解决方案 »

  1.   

    给你个例子,看看就明白了 
            long endTime = 0; 
            long beginTime = 0;         Date begin_time = new Date(); 
            Date end_time = new Date();         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
            try { 
                begin_time = sdf.parse("2007-02-10 10:10:10");//m_begintime=txt_begintime.getText();开始的时间 
                end_time = sdf.parse("2007-02-10 10:10:11");//m_endtime=txt_endtiem.getText();结束的时间 
                endTime = end_time.getTime(); 
                beginTime = begin_time.getTime(); 
            } catch (Exception e) { 
            } 
            int result = new Long(endTime - beginTime).intValue(); 
            System.out.println(result); 
      

  2.   

    用SimpleFormatDate转成Date减,得到毫秒,然后再换算成天
      

  3.   

    楼上的能不能说清楚一点哈 用SimpleFormatDate转成Date减 这一步怎么做哈 谢谢了! 我也学习一下
      

  4.   

    import java.util.*;
    import java.text.*;public class DateTest
    {
        public static void main(String[] args) throws Exception
        {
            String startDate = "20070523111700";
            String endDate = "20070531180000";        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
            Date currDate = new Date();
            System.out.println(sdf.format(currDate));        Date sDate = sdf.parse(startDate);
            Date eDate = sdf.parse(endDate);        System.out.println((eDate.getTime() - sDate.getTime()) / (1000 * 60 * 60 * 24));
        }
    }
      

  5.   

    SimpleDateFormat smdf = new SimpleDateFormat("yyyyMMddhhmmss");
    try {
    Date start = smdf.parse("20070523111700");
    Date end = smdf.parse("20070531180000");
    long t = (end.getTime() - start.getTime()) / (3600 * 24 * 1000);
    System.out.println(t);
    } catch (ParseException e) {
    e.printStackTrace();
    }
      

  6.   

    String start_time = "20070523231700";
            String end_time = "20070532180000";
            long start = 0;
            long end = 0;
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
            try {
                start = sdf.parse(start_time).getTime();
                end = sdf.parse(end_time).getTime();
            } catch(Exception ex) {
                ex.printStackTrace();
            }
            int subdays = (int)((end - start)/24/1000/60/60);
            System.out.println( "subdays = " + subdays );
      

  7.   

    /**
     * 
     */
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;/**
     * @author liaojy 下午03:12:24
     */
    public class Test {
    public static long dataDiff(Date a, Date b) {
    return (a.getTime() - b.getTime()) / 86400000;
    } /**
     * @param args
     * @throws ParseException 
     */
    public static void main(String[] args) throws ParseException {
    // TODO Auto-generated method stub
    System.out.print(Math.abs(dataDiff(new SimpleDateFormat("yyyyMMddmmss").parse("200703041232"), new SimpleDateFormat("yyyyMMddmmss").parse("200703090000")))+"\n");
    System.out.print((1<<3)+"\n");
    }}