2005-10-9 16:22:17
2005-10-8 16:22:17
2005-4-9 16:22:17
2005-10-9 16:22:17我如何知道,哪两个日期相同,两个日期新,哪个日期旧呢?用代码怎么比较?有什么现成的方法吗?
不会用">,<"号吧?呵,,

解决方案 »

  1.   

    有两个包里有日期的类型,不知道楼主想用哪个?java.util.Date和java.sql.Timestamp两都可以,后面是面对数据库的,before(),after(),equals()就可以比较两个时间之间的关系了!
      

  2.   

    boolean bResult = date1.before(date2);
    前提先根据你的时间字符串构造出要比较的date
      

  3.   

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd k:mm:ss");//构造日期格式
    Date obj = sdf.parse("2005-10-9 16:22:17");//构造Date对象
    Date obj2 = sdf.parse("2005-10-13 16:22:17");//构造Date对象
    System.out.println(obj.compareTo(obj2));//比较
    obj>obj2返回1
    obj=obj2返回0
    obj<obj2返回-1
      

  4.   

    光判断日期也简单:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//构造日期格式yyyy-MM-dd
    Date obj = sdf.parse("2005-10-9 16:22:17");//构造Date对象
    Date obj2 = sdf.parse("2005-10-13 16:22:17");//构造Date对象
    System.out.println(obj.compareTo(obj2));//比较
      

  5.   

    //CompareDate.java
    import java.util.*;
    import java.text.*;//SimpleDateFormat在此包中class CDate{
    int compare(String d1,String d2){
    int result=-2;
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    try{
    Date obj1=sdf.parse(d1);
    Date obj2=sdf.parse(d2);
    result=obj1.compareTo(obj2);
    }catch(ParseException pe){
    System.out.println(pe.getMessage());
    }
    return result;
    }
    }class CompareDate{
    public static void main(String arg[]){
    String date1="2006-8-7 12:30:56";
    String date2="2005-10-10 12:29:54";
    CDate cd=new CDate();
    int result = cd.compare(date1,date2);
    if (result==-2) System.out.println("时间格式错误!");
    if (result==0)  System.out.println(date1+"与"+date2+"时间相等!");
    if (result==-1)  System.out.println(date1+"小于"+date2);
    if (result==1)  System.out.println(date1+"大于"+date2);
    }
    }