您的位置:首页 > 编程语言 > Java开发

java时间相减

2014-02-26 00:00 295 查看
有两种方式获取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();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: