有两个字符串的日期“2011-01-01”,“2012-01-01”怎样用java拆分后,分别比较年、月、日之间的大小,请各位指教

解决方案 »

  1.   


    try {

    String s1 = "2011-01-01";
    String s2 = "2012-01-01"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Calendar c1 = Calendar.getInstance();
    c1.setTime(sdf.parse(s1));
    Calendar c2 = Calendar.getInstance();
    c2.setTime(sdf.parse(s2));

    // 比较年
    if (c1.get(Calendar.YEAR) > c2.get(Calendar.YEAR)) {
    // .....
    }
    // 比较月
    if (c1.get(Calendar.MONTH) > c2.get(Calendar.MONTH)) {
    // .....
    }
    // 比较日
    if (c1.get(Calendar.DAY_OF_MONTH) > c2.get(Calendar.DAY_OF_MONTH)) {
    // .....
    }
    } catch (Exception e) {}
      

  2.   

    String[] arr = "2012-01-01".split("-");
    String[] arr2 = "2012-01-01".split("-");
    for(int i=0;i<arr.length; i++){
    System.out.println(Integer.valueOf(arr[i]).compareTo(Integer.valueOf(arr2[i])));
    }或者SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Calendar cal = Calendar.getInstance();
    cal.setTime(sdf.parse("2012-01-01"));
    cal.get(Calendar.YEAR);
    cal.get(Calendar.MONTH);
    cal.get(Calendar.DAY_OF_MONTH);
      

  3.   

    我觉得你完全可以不用自己去写,有好多jquery的插件,My97DatePicker都很好的用的,里面拆分比较等等都有!
      

  4.   

    在jsp中用
    function time(){
    var startTime=$("#startTime").val();
    var endTime=$("#endTime").val();
    if(startTime!=''&&endTime!=''){
        startTime=startTime.split('-');                                                     //用的是时间控件格式是yyyy-MM-dd
        endTime=endTime.split('-');
        var startTime1=new Date(startTime[0],startTime[1]-1,startTime[2]);
        var endTime1=new Date(endTime[0],endTime[1]-1,endTime[2]);
        if(startTime1>endTime1){
        alert("开始日期不能在结束日期之后");
        return false;
        }else{
        return true;
        }
        }
    在action中,一个样,也用split。给我全分。已经测试OK
    }
      

  5.   

    在jsp中用
    function time(){
    var startTime=$("#startTime").val();
    var endTime=$("#endTime").val();
    if(startTime!=''&&endTime!=''){
        startTime=startTime.split('-');                                                     //用的是时间控件格式是yyyy-MM-dd
        endTime=endTime.split('-');
        var startTime1=new Date(startTime[0],startTime[1]-1,startTime[2]);
        var endTime1=new Date(endTime[0],endTime[1]-1,endTime[2]);
        if(startTime1>endTime1){
        alert("开始日期不能在结束日期之后");
        return false;
        }else{
        return true;
        }
        }
    }
    action也是一个样子用spit。给我全分。