java关于时间的比较有关问题
java关于时间的比较问题。
现在传递过来的参数是:
String time="2012-05-12,18:00";
现在需要进行判断,这个时间是在,
是否在2012-05-12的17:00之后否?
如果是,又需要判断,是否在
2012-05-12的17:00-00:00加上2012-05-13的00:01-8:00
或者是在
2012-05-13的8:01-12:00
或者是在
2012-05-13的12:01-17:00
这三个时间段的那个时间段了?
希望给出具体的代码,因为,实际上我已经看了java.text.format和java.util.date的apl,没看懂。
如果方便的话,也可以稍微给我解释下,关于java的日期处理,感觉完全看不懂。
------解决方案--------------------
现在传递过来的参数是:
String time="2012-05-12,18:00";
现在需要进行判断,这个时间是在,
是否在2012-05-12的17:00之后否?
如果是,又需要判断,是否在
2012-05-12的17:00-00:00加上2012-05-13的00:01-8:00
或者是在
2012-05-13的8:01-12:00
或者是在
2012-05-13的12:01-17:00
这三个时间段的那个时间段了?
希望给出具体的代码,因为,实际上我已经看了java.text.format和java.util.date的apl,没看懂。
如果方便的话,也可以稍微给我解释下,关于java的日期处理,感觉完全看不懂。
------解决方案--------------------
- Java code
String time="2012-05-12,18:00"; DateFormat f= new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date date = f.parse(time); Date date2 = f.parse("2012-05-13 8:01"); int i = date.compareTo(date2); /*the value 0 if the argument Date is equal to this Date; a value less than 0 if this Date is before the Date argument; and a value greater than 0 if this Date is after the Date argument.*/ //date.before(date2); //date.after(date2);
------解决方案--------------------
package leedp.login;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateCompare {
public static void main(String[] args) throws ParseException {
/*
* the value 0 if the argument Date is equal to this Date; a value less
* than 0 if this Date is before the Date argument; and a value greater
* than 0 if this Date is after the Date argument.
*/
String time = "2012-05-12,18:00";
time = time.replace(",", " ");
DateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date1 = f.parse(time);
Date date2 = f.parse("2012-05-13 8:01");
int i = date1.compareTo(date2);
System.out.println(i);
Calendar c = Calendar.getInstance();
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse("2012-05-12 18:00");
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day - 1);
String dayBefore = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(c
.getTime());
System.out.println(dayBefore);
}
}
------解决方案--------------------
------解决方案--------------------
具体代码你自己会写的,简单说就是将string转成date,在java里面date类型可以直接比较的。