java 解决时间相减问题

时间:2023-03-09 02:47:09
java 解决时间相减问题
比如 Date currentTime ="2011-06-20 9:23:50"; Date endTime="2011-06-21 10:33:56"; 
要求的结果是 endTime - currentTime = 还剩余1天1小时10分6秒;如何来实现这个功能??
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class MainActivity { /*public static void main(String[] args) {
// TODO Auto-generated method stub
int[] A = { 1,8,2,5,4,3,6 };
int[] B = Insertion.sort(A);
print(B); } static void print(int[] arr) {
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i]+" ");
}
}*/ public static void main(String[] args) throws Exception{
/* Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2015-04-24 12:14:57");
Date date2 = new SimpleDateFormat("yyyy-MM-dd").parse("2015-03-25 12:14:57");
Calendar cal1=Calendar.getInstance();
Calendar cal2=Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2); System.out.println(date1.compareTo(date2));
System.out.println(cal1.compareTo(cal2));
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date1);
System.out.println(now);*/ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2015-04-24 12:14:57");
java.util.Date date=df.parse("2015-03-25 12:14:57");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
} }
如何利用java得到当前的时间和前一天的时间

博客分类: 常用资料
JavaRubyCC++C#
1.得到当前的时间
Ruby代码 收藏代码
Calendar cal = Calendar.getInstance();
String time=formatter.format(cal.getTime());
String strEnd=time.substring(0, 16);// 2007-10-30 09:30 2.得到前一天的时间
Ruby代码 收藏代码
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, -1);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mDateTime=formatter.format(c.getTime());
String strStart=mDateTime.substring(0, 16);//2007-10-29 09:30 3.得到前几天的时间
Ruby代码 收藏代码
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, -5);//得到前5
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mDateTime=formatter.format(c.getTime());
String strStart=mDateTime.substring(0, 16);//2007-10-24 09:30 4.得到当前时间的前几年的时间 Ruby代码 收藏代码
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -5);//得到前5年
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mDateTime=formatter.format(c.getTime());
String strStart=mDateTime.substring(0, 16);//2002-10-24 09:30
CalendarDate转化

(1) Calendar转化Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime(); (2) Date转化Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);