"<" น้อยกว่า
">" มากกว่า
"=" เท่ากับ
แต่ เมื่อต้องการเปรีบบเทียบตัวแปรประเภท วันที่ (Date) ไม่ว่าจะเป็น java.util.Date ro oracle.jbo.domain.Date ตัวแปรทั้งสองจะไม่ยอมให้ใช้เครื่องหมายดังกล่าวในการเปรียบเทียบ
... แล้วจะทำยังไงล่ะ ถ้าเราต้องการรู้ว่า xinputDate มากกว่า หรือน้อยกว่า todayDate
จะขออธิบายแบ่งเป็น 2 กรณี
กรณีที่ 1 java.util.Date
กรณีที่ 2 oracle.jbo.domain.Date
java.util.Date
ตัวแปร Date ของ Java จะมี method ให้เรียกใช้เพื่อเปรียบเทียบอยู่สำคัญๆ ดังนี้
- after
- before
- compareTo
- equals
oracle.jbo.domain.Date
- compareTo
- equals
ในบทความนี้จะขออธิบาย method compareTo เนื่องจากสามารถปรับใช้ได้ และมีประโยชน์อย่างมาก
การเปรีบเทียบตัวแปรวันที่ 2 ตัวแปร ทำได้โดย
public class Main {
public static void main(String args[])
{
Date todayDate=new Date();
Date xinputDate=new Date(todayDate.getYear(),todayDate.getMonth()-1,todayDate.getDay());
if(todayDate.compareTo(xinputDate)<0)
System.out.println("Today Date มีค่าน้อยกว่า xinputDate");
else if(todayDate.compareTo(xinputDate)>0)
System.out.println("Today Date มีค่ามากกว่า xinputDate");
else
System.out.println("TodayDate และ xinputDate มีค่าเท่ากัน");
}
}
thanks
- http://stackoverflow.com/a/15925758/3386155
- http://docs.oracle.com/cd/E21043_01/apirefs.1111/e10655/oracle/jbo/domain/Date.html
- http://docs.oracle.com/javase/6/docs/api/java/util/Date.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น