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(); 
   } 
} 

}



转载于:https://my.oschina.net/u/154866/blog/203210

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值