Java计算年月日时分秒时间差(两个时间相减)

Posted 小单子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java计算年月日时分秒时间差(两个时间相减)相关的知识,希望对你有一定的参考价值。

 

//测试主方法  public static void main(String[] args) {          Date currentTime = df.parse("2004-03-26 13:31:40");   //当前系统时间             Date firstTime = df.parse("2004-01-02 11:30:24");     //查询的数据时间          String str=getTime(currentTime ,firstTime );          System.out.println("获取的年月日时分秒时间差为:"+str);   }   //获取时间差方法       public static String getTime(Date currentTime,Date firstTime){           long diff = currentTime.getTime() - firstTime.getTime();//这样得到的差值是微秒级别           Calendar  currentTimes =dataToCalendar(currentTime);//当前系统时间转Calendar类型           Calendar  firstTimes =dataToCalendar(firstTime);//查询的数据时间转Calendar类型           int year = currentTimes.get(Calendar.YEAR) - firstTimes.get(Calendar.YEAR);//获取年           int month = currentTimes.get(Calendar.MONTH) - firstTimes.get(Calendar.MONTH);           int day = currentTimes.get(Calendar.DAY_OF_MONTH) - firstTimes.get(Calendar.DAY_OF_MONTH);            if (day < 0) {              month -= 1;              currentTimes.add(Calendar.MONTH, -1);              day = day + currentTimes.getActualMaximum(Calendar.DAY_OF_MONTH);//获取日           }           if (month < 0) {              month = (month + 12) % 12;//获取月              year--;           }                 long days = diff / (1000 * 60 * 60 * 24);                      long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60); //获取时            long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);  //获取分钟           long s=(diff/1000-days*24*60*60-hours*60*60-minutes*60);//获取秒           String CountTime=""+"year"+"年"+month+"月"+day+"天"+hours+"小时"+minutes+"分"+s+"秒";           return CountTime;     }       //Date类型转Calendar类型     public static Calendar dataToCalendar(Date date) {           Calendar calendar = Calendar.getInstance();           calendar.setTime(date);           return calendar;     }

 

以上是关于Java计算年月日时分秒时间差(两个时间相减)的主要内容,如果未能解决你的问题,请参考以下文章

Java 中怎么算两个时间的差值(当前的时间—减去—一个时间(年月日时分秒))=数值

如何将sql中带时分秒的日期转换为只有年月日的

java如何获取当前时间 年月日 时分秒

sql 计算时间差得到时分秒。

excel中如何把年月日时分秒如:20191009053020分成两列

数据库中如何使年月日时间分秒格式转换为年月日