怎么实现算法使得用当前的时间减去一个已知时间,自己搞了好长时间都没搞定,望高手帮帮忙!

解决方案 »

  1.   

    //当前时间
    Calendar cal = Calendar.getInstance();
    //以前的时间
    Calendar calBefore = Calendar.getInstance();
    calBefore.set(2010, 3, 25, 5, 6, 10);
    //天数差
    long day = (cal.getTimeInMillis() - calBefore.getTimeInMillis())/(1000*3600*24);
      

  2.   

    Calendar now = Calendar.getInstance();
    Calendar someday = Calendar.getInstance();
    someday.set(2010,5,1,5,6,10);long days = TimeUnit.MILLISECONDS.toDays(now.getTimeInMillis()-someday.getTimeInMillis());
      

  3.   

    楼上正解public class Test9 {
    private static final int YEAR = 1949;
    private static final int MONTH = 10;
    private static final int DAY = 1;
    public static void main(String[] args) {
    System.out.println("请输入日期(格式为yyyy-M-d):");
    Scanner sc = new Scanner(System.in);
    String str = sc.next();
    String[] s = str.split("-");
    //获得键盘输入的年,月,日
    int year = Integer.valueOf(s[0]);
    int month = Integer.valueOf(s[1]);
    int day = Integer.valueOf(s[2]);
    //设置两个日期
    Calendar c1 = Calendar.getInstance();
    c1.set(year, month - 1, day);// 设置日历
    Calendar c2 = Calendar.getInstance();
    c2.set(YEAR, MONTH - 1, DAY); //日期:1949-10-1
    //转化为相对时间
    long t1 = c1.getTimeInMillis();
    long t2 = c2.getTimeInMillis();
    //计算相差天数
    long days = (t1 - t2) / (60*60*24*1000);
    System.out.println(days);
    }}