//时间远近比较:
package Java时间的比较;
public class 时间远近比较 {
public static void timeCompare()
{
String s1 = "2008-01-25 09:12:09";
String s2 = "2008-01-29 09:12:11";
java.text.DateFormat df = new java.text.SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
java.util.Calendar c1 = java.util.Calendar.getInstance();
java.util.Calendar c2 = java.util.Calendar.getInstance();
try {
c1.setTime(df.parse(s1));
c2.setTime(df.parse(s2));
} catch (java.text.ParseException e) {
System.err.println("格式不正确");
}
int result = c1.compareTo(c2);
if (result == 0)
System.out.println("c1相等c2");
else if (result < 0)
System.out.println("c1小于c2");
else
System.out.println("c1大于c2");
}
public static void main(String[] args) {
timeCompare();
}
}
//求时间差
package Java时间的比较;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 比如:现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
* @author Yahui_Li
*
*/
public class 求时间差 {
public static void compareTime_1()
{
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date1=df.parse("2004-03-26 13:31:40");
Date date2=df.parse("2004-01-02 11:30:24");
long diff=date1.getTime()-date2.getTime();
long days=diff/(24*60*60*1000);
System.out.println(days);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void compareTime_2()
{
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date now=df.parse("2004-03-26 13:31:40");
Date before=df.parse("2004-01-02 11:30:24");
long dis=now.getTime()-before.getTime();
long day=dis/(24*60*60*1000);
long hour=(dis/(60*60*1000))-(24*day);
long min=((dis/(60*1000))-day*24*60-hour*60);
long s=(dis/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(day+"天"+hour+"小时"+min+"分"+s+"秒");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void compareTime_3() {
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
java.util.Date begin = dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between = (end.getTime() - begin.getTime()) / 1000;// 除以1000是为了转换成秒
long day = between / (24 * 3600);//除以一天的秒数
long hour = between % (24 * 3600) / 3600;
long minute = between % 3600 / 60;
long second = between % 60 / 60;
System.out.println("" + day + "天" + hour + "小时" + minute + "分"
+ second + "秒");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
//compareTime_1();
//compareTime_2();
compareTime_3();
}
}