我这样写,得的结果不对呀??
import java.util.Date;public class SnopTime
{
public static void main(String[] args)
{
Date date1=new Date(2003,3,6,13,24);
Date date2=new Date(2003,3,6,9,34);
long a1=date1.getTime();
long a2=date2.getTime();
Date date3=new Date();
long a3=(a1-a2)/1000;
date3.setTime(a3);
System.out.println(date3.toString());
}
}
得到结果:
Thu Jan 01 08:00:13 CST 1970本来结果应是3小时50分呀?
import java.util.Date;public class SnopTime
{
public static void main(String[] args)
{
Date date1=new Date(2003,3,6,13,24);
Date date2=new Date(2003,3,6,9,34);
long a1=date1.getTime();
long a2=date2.getTime();
Date date3=new Date();
long a3=(a1-a2)/1000;
date3.setTime(a3);
System.out.println(date3.toString());
}
}
得到结果:
Thu Jan 01 08:00:13 CST 1970本来结果应是3小时50分呀?
long a3 = (a1-a2)/1000;
int nDay = a3/(24*60*60);
int nHour = (a3-nDay*24*60*60)/(60*60);
int nMinute = (a3-nDay*24*60*60-nHour*60*60)/60;
int nSecond = a3-nDay*24*60*60-nHour*60*60-nMinute*60;
System.out.println("间隔时间:"+nDay+"天"+nHour+"小时"+nMinute+"分"+nSecond+"秒");
比如:
Date date1=new Date(2003,3,6,13,24);
Date date2=new Date(1999,3,6,9,34);那怎样计算呀,好像每个月,每年的天数不同哟.(有的月有31,有的只有30,28,29呀,还有闰年之类的东东,这种方法行吗??)谁能写一个能计算到相差有几年以上的时间差呀??
java.util.Calendar
与日历相关的算法挺复杂的,找个日历程序瞧瞧吧。
integer li_Month //月
integer li_Year //年
boolean lb_Leap //閏年
li_Month = Month(ud_date)
li_Year = Year(ud_date)
If (Mod(li_Year, 4) = 0 and Mod(li_Year, 100) <> 0) or (Mod(li_Year, 400) = 0) Then
lb_Leap = True
Else
lb_Leap = False
End If
Choose Case li_Month
Case 1, 3, 5, 7, 8, 10, 12
Return 31
Case 2
If lb_Leap = true then
Return 29
Else
Return 28
End If
Case Else
Return 30
End Choose