来自https://blog.csdn.net/lom9357bye/article/details/50347689,感谢作者的无私分享。
1.时间的比较
- <code class="language-java">import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- public class DateTest {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- DateFormat df = new SimpleDateFormat("HH:mm:ss");//创建日期转换对象HH:mm:ss为时分秒,年月日为yyyy-MM-dd
- try {
- Date dt1 = df.parse("15:00:00");//将字符串转换为date类型
- Date dt2 = df.parse("17:00:00");
- if(dt1.getTime()>dt2.getTime())//比较时间大小,如果dt1大于dt2
- {
- System.out.println("yes");
- }
- else
- {
- System.out.println("no");//运行输出no
- }
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }</code>
来源:http://lqzit.iteye.com/blog/1103345
2.计算两个日期之间相差的天数
-
/**
-
* 获取两个日期相差的天数
-
*
-
* @param startDateStr
-
* @param endDateStr
-
*/
-
public static int getDayBetweenTwoDate(String startDateStr, String endDateStr) {
-
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd");
-
int days = 0;
-
try {
-
Date startDate = simpleDateFormat.parse(startDateStr);
-
Date endDate = simpleDateFormat.parse(endDateStr);
-
Calendar startCalendar = Calendar.getInstance();
-
startCalendar.setTime(startDate);
-
Calendar endCalendar = Calendar.getInstance();
-
endCalendar.setTime(endDate);
-
//计算两个日期相差的天数
-
//startCalendar.getTime().getTime()返回long毫秒数形式,毫秒转为秒所以除以1000
-
//1天=24小时,1小时=60分,1分=60秒,所以两个时间的差再除以60 * 60 * 24换算成天的形式
-
days = (( int) (startCalendar.getTime().getTime() / 1000) - ( int) (endCalendar.getTime().getTime() / 1000)) / ( 60 * 60 * 24);
-
-
} catch (ParseException e) {
-
e.printStackTrace();
-
}
-
return days;
-
}
测试:
-
public static void main(String[] args) {
-
String start = "2015-10-01";
-
String end = "2015-09-15";
-
System.out.println(getDayBetweenTwoDate(start, end));
-
}
输出:16