/**
 * OK
 * 日期类
 * 需要载入:string.js,
 */
var DateUtil = {
	/**
	* 判断字符串是否是有效的日期
	* 日期分隔符为"-"或"/"
	* input 输入字符串
	*/
	isDate: function (input){
	    if(StringUtil.isEmpty(input))  return false;
	    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
	    var result = input.match(reg);
	    if(result == null)return false;
	    var date = new Date(result[1],result[3]-1,result[4])
	    return ((date.getFullYear()==parseInt(result[1],10))
	          &&(date.getMonth()==parseInt(result[3],10)-1)
	          &&(date.getDate()==parseInt(result[4],10)));
	},

	/**
	* 格式化字符串为"yyyy-MM-dd"或"yyyy/MM/dd"格式
	* input 输入字符串
	*/
	toDate: function (input){
	    if(StringUtil.isEmpty(input))  return "";
	    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
	    var result = input.match(reg);
	    if(result == null)return "";
	    var date = new Date(result[1],result[3]-1,result[4])
	    if((date.getFullYear()==parseInt(result[1],10))
	     &&(date.getMonth()==parseInt(result[3],10)-1)
	     &&(date.getDate()==parseInt(result[4],10))){
	        var year=date.getFullYear().toString(10);
	        var month=(date.getMonth()+1<10) ? "0"+(date.getMonth()+1).toString(10) : (date.getMonth()+1).toString(10);
	        var day=(date.getDate()<10) ? "0"+date.getDate().toString(10) : date.getDate().toString(10);
	        return year + result[2] + month + result[2] + day;
	    }
	    else{
	      return "";
	    }
	},

	/**
	 * 将字符串转换为日期
	 * input 输入字符串
	 */
	convertDate: function (input){
	  if(DateUtil.isDate(input)){
	    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
	    var result = input.match(reg);
	    var date = new Date(result[1],result[3]-1,result[4]);
	    return date;
	  }
	  else{
	    return null;
	  }
	},

	/**
	* 判断字符串是否是有效的年和月
	* 日期分隔符为"-"或"/"
	 * input 输入字符串
	*/
	isMonth: function (input){
	    if(StringUtil.isEmpty(input)) return false;
	    var reg = /^(\d{1,4})(-|\/)(\d{1,2})$/;
	    var result = input.match(reg);
	    if(result == null)return false;
	    var date = new Date(result[1],result[3]-1,1)
	    return ((date.getFullYear()==parseInt(result[1],10))
	    	     &&(date.getMonth()==parseInt(result[3],10)-1))
	},

	/**
	* 格式化字符串为"yyyy-MM"或"yyyy/MM"格式
	 * input 输入字符串
	*/
	toMonth: function (input){
	    if(StringUtil.isEmpty(input))  return "";
	    var reg = /^(\d{1,4})(-|\/)(\d{1,2})$/;
	    var result = input.match(reg);
	    if(result == null) return "";
	    var date = new Date(result[1],result[3]-1,1)
	    if((date.getFullYear()==parseInt(result[1],10))
		     &&(date.getMonth()==parseInt(result[3],10)-1)){
	        var year=date.getFullYear().toString(10);
	        var month=(date.getMonth()+1<10) ? "0"+(date.getMonth()+1).toString(10) : (date.getMonth()+1).toString(10);
	        return year + result[2] + month;
	    }
	    else{
	      return "";
	    }
	}

}
