日期:2014-05-20  浏览次数:20698 次

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

------解决方案--------------------
Java code

        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) {}

------解决方案--------------------
Java code
    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])));
        }

------解决方案--------------------
在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
}
------解决方案--------------------
在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。给我全分。