我要设计一个程序,计算客户开车进入小区和出小区的总共时间,然后按照一秒钟一块钱的价格扣除他卡上的相应金额,我不知道如何计算他进和出中间经过了多长时间,高手指点一下,在线等给分。

解决方案 »

  1.   

    进出的时候分别取 时间,做差 
    long b =  System.currentTimeMillis(); 
    这个单位是应该是毫秒吧 ,自己确定一下 。
      

  2.   

    楼上的说的对啊,用System.currentTimeMillis(); 取出两个时间点的毫秒值,做差运算就可以了啊:import java.text.DateFormat;
    import java.util.Date;public class Test14 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub long oldTime = System.currentTimeMillis();
    String time = DateFormat.getDateTimeInstance().format(new Date(oldTime));

    System.out.println("Start time: " + time);
    for (long i = 0; i < 100000000; i++) {

    }
    long currentTime = System.currentTimeMillis();
    System.out.println("End time: " + DateFormat.getDateTimeInstance().format(new Date(currentTime)));
    System.out.println("There has been passed " + ((float)(currentTime - oldTime) / 1000) + " seconds");
    }}输出结果:
    Start time: 2008-9-2 21:13:06
    End time: 2008-9-2 21:13:07
    There has been passed 0.484 seconds
      

  3.   

    我想再小的系统也会用到数据库的,入门时间记录在系统里面,出门根据相同的车牌号或者内部的标识记录出门的时间。2个时间相减就行了。 Date 类型的 getTime()可以拿到毫秒数。 除以1000就是秒数了。
      

  4.   

    long firstTime = System.currentTimeMillis(); ...//your codes
    System.out.println("It costs "+ (System.currentTimeMillis()-firstTime)/1000 +"s");