java中對時間的操作
代碼演示:
//數據庫中去的日期
Date s = list.get(0).getSdate();
System.out.println(s);// Tue Apr 28 00:00:00 CST 2015
//手動new
Date d = new Date();
System.out.println(d);// Tue Apr 28 20:53:15 CST 2015
System.out.println("++" + s.after(d));
//使用Calendar
Calendar calendar = Calendar.getInstance();
Date time = calendar.getTime();
System.out.println(time);// Tue Apr 28 20:55:16 CST 2015
//使用日期格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
String format2 = format.format(s);
System.out.println("format2" + format2);// 2015/04/28
//再解析
Date parse = format.parse(format2);
System.out.println("parse" + parse);// Tue Apr 28 00:00:00 CST 2015
System.out.println("???" + (s.getTime() >= parse.getTime()));// true
//使用jodatime
DateTime dt = new DateTime();
System.out.println(dt);// 2015-04-28T21:00:28.780+08:00
System.out.println(dt.toDate());// Tue Apr 28 21:00:28 CST 2015
寫了2個方法,用于處理:
1.比較2個日期大小(只比較年月日部分) /**
- 對2個日期進行比較,無論是從數據庫中取出的date,還是new的
- @param d1
- @param d2
- @return
*/
private String compareDate(Date d1,Date d2){
if(d1==null || d2==null){
return "error";
}
long time1 = new LocalDate(d1).toDate().getTime();
long time2 = new LocalDate(d2).toDate().getTime();
if(time1>time2){
return ">";
}else if(time1==time2){
return "==";
}else{
return "<";
}
}
2.比較2個日期大小(只比較年月日部分)
// 只比較年月日大小
private String compareDate(Date s, Date d) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
if (format.parse(format.format(s)).getTime() > format.parse(
format.format(d)).getTime()) {
return ">";
} else if (format.parse(format.format(s)).getTime() == format.parse(
format.format(d)).getTime()) {
return "==";
} else {
return "<";
}
}</pre>