java時間相減

有兩種方式獲取java時間差:java

一.經過Calendar的getTimeInMillis()方法得到日期的毫秒數,而後對毫秒相減取差值,再計算相差的秒數,分鐘,小時,天等測試

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Main{
    public static void main(String[] args)
    {
        Calendar c1 = Calendar.getInstance();
        c1.clear();

        Calendar c2 = Calendar.getInstance();
        c2.clear();

        // Set the date for both of the calendar instance
        c1.set(2020, 0, 1);
        c2.set(2020, 2, 1);

        // Print out the dates
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("Date 1: " + sdf.format(c1.getTime()));
        System.out.println("Date 2: " + sdf.format(c2.getTime()));

        // Get the represented date in milliseconds
        long time1 = c1.getTimeInMillis();
        long time2 = c2.getTimeInMillis();

        // Calculate difference in milliseconds
        long diff = time2 - time1;

        // Difference in seconds
        long diffSec = diff / 1000;
        System.out.println("Difference in seconds " + diffSec);

        // Difference in minutes
        long diffMin = diff / (60 * 1000);
        System.out.println("Difference in minutes " + diffMin);

        // Difference in hours
        long diffHours = diff / (60 * 60 * 1000);
        System.out.println("Difference in hours " + diffHours);

        // Difference in days
        long diffDays = diff / (24 * 60 * 60 * 1000);
        System.out.println("Difference in days " + diffDays);
     }
    }
    輸出以下:
Date 1: 2020-01-01
Date 2: 2020-03-01
Difference in seconds 5184000
Difference in minutes 86400
Difference in hours 1440
Difference in days 60

二.經過方式

public class Datetest   { 
public static void main(String ss[]) { 
   SimpleDateFormat d= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化時間 
  
   String nowtime=d.format(new Date());//按以上格式 將當前時間轉換成字符串 
  
   System.out.println("當前時間:"+nowtime); 
   String testtime="2007-09-05 16:07:35";//測試時間 
   System.out.println("測試時間:"+testtime); 
  
   try { 
    long result=(d.parse(nowtime).getTime()-d.parse(testtime).getTime())/1000;//當前時間減去測試時間(這個的除以1000獲得秒,相應的60000獲得分,3600000獲得小時)
    System.out.println("當前時間減去測試時間="+result+"秒"); 
   } catch (ParseException e) { 
    e.printStackTrace(); 
   } 
} 

}
相關文章
相關標籤/搜索