有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    只要这两个时间都是GMT/UTC,就可以执行date1.getTime() - date2.getTime(),然后将结果除以86400000,得到天数。其余的可能是相当直观的

    根据已编辑的问题进行编辑

    要将字符串转换为日期,请使用SimpleDateFormat

    String yourDateString = "8/11/11 9:16:36 PM";
    SimpleDateFormat format =
                new SimpleDateFormat("MM/dd/yy HH:mm:ss a");
    Date yourDate = format.parse(yourDateString);
    
  2. # 2 楼答案

    大多数Date的getter都已被弃用,取而代之的是Calendar方法。以下是你将如何做到这一点

    Date date1, date2; //initialized elsewhere
    Calendar day1 = new Calendar();
    day1.setTime(date1)
    
    Calendar day2 = new Calendar();
    day2.setTime(date2);
    
    
    int yearDiff, monthDiff, dayDiff, hourDiff, minuteDiff, secondDiff;
    yearDiff = Math.abs(day1.get(Calendar.YEAR)-day2.get(Calendar.YEAR));
    monthDiff = Math.abs(day1.get(Calendar.MONTH)-day2.get(Calendar.MONTH));
    dayDiff = Math.abs(day1.get(Calendar.DAY_OF_YEAR)-day2.get(Calendar.DAY_OF_YEAR));
    hourDiff = Math.abs(day1.get(Calendar.HOUR_OF_DAY)-day2.get(Calendar.HOUR_OF_DAY));
    minuteDiff = Math.abs(day1.get(Calendar.MINUTE)-day2.get(Calendar.MINUTE));
    secondDiff = Math.abs(day1.get(Calendar.SECOND)-day2.get(Calendar.SECOND));
    

    然后你可以用这些数字做任何你喜欢的事情