var dateUtil = {
	
    /**
     * 日期转换
     * yyyy splitStr mm splitStr dd
     * @param {} date  splitStr 分隔字符
     * @return {}
     */
    dateFormat : function(date,splitStr){
        if (date) {
            if(!splitStr){
                splitStr = "/";
            }
            var month = date.month + 1;
            var day = date.date;
            var year = 1900 + date.year;
            if (month < 10)
                month = "0" + month;
            if (day < 10)
                day = "0" + day;
            return year + splitStr + month + splitStr + day;
        } else {
            return "未知";
        }
    },
    /**
     * 日期转换
     * yyyy splitStr mm splitStr dd hh:mm:ss
     * @param {} date  splitStr 分隔字符
     * @return {}
     */
    dateFormatSec : function(date,splitStr){
        if (date) {
            if(!splitStr){
                splitStr = "/";
            }
            var month = parseInt(date.month)<9?"0"+(date.month+1):date.month+1;
            var day = parseInt(date.date)<10?"0"+date.date:date.date;
            var year = 1900 + date.year;
            var hours = parseInt(date.hours)<10?"0"+date.hours:date.hours;
            var minutes = parseInt(date.minutes)<10?"0"+date.minutes:date.minutes;
            var seconds = parseInt(date.seconds)<10?"0"+date.seconds:date.seconds;
            return year + splitStr + month + splitStr + day + ' ' + hours + ':' + minutes + ':' + seconds;
        } else {
            return "未知";
        }
    },
    /**
     * 格式化日期
     * 今天 19：09/ 昨天 19:12 / 5月4日 19:09 
     */
    dateFormat_style : function(date) {
        var dateStr = (date.year + 1900) + '/' + (date.month + 1) + '/'
                + date.date;
        var timeStr = "";
        if(date.hours > 0 || date.minutes > 0){
        	timeStr = date.hours + ':'
                + (date.minutes < 10 ? '0' + date.minutes : date.minutes);
        }
        var today = new Date();
        var todayStr = today.getFullYear() + '/' + (today.getMonth() + 1) + '/'
                + today.getDate();
        var d = new Date(dateStr);
        var todayDate = new Date(todayStr);
        var newdate;
        if (todayDate - d == 0) {
            newdate = '今天   ' + timeStr;
        } else if (todayDate - d == 86400000) {
            newdate = '昨天   ' + timeStr;
        } else {
            newdate = (date.month + 1) + '月' + date.date + '日' + '    '
                    + timeStr;
        }
        return newdate;
    },
    /**
     * 计算天数
     * 格式:2010-06-20 12:12
     * @param {} date1
     * @param {} date2
     * @return {}
     */
    compareDate : function(date1, date2) {
        if(date1 && date2){
            date1 = dateUtil.dateFormat(date1);
            date2 = dateUtil.dateFormat(date2);
            var time = new Date(date2.replace(/-/g, "\-")).getTime()
                    - new Date(date1.replace(/-/g, "\-")).getTime();
            // 开始时间晚于结束时间
            if (time < 0)
                return time;
            // 计算天数
            return time / (86400 * 1000) + 1;
        }else{
            return "未知";
        }
    },
    /**
     * 时间转换成String
     */
    getDate : function(curDate) {
		if (curDate) {
			var month = curDate.month + 1;
			var day = curDate.date;
			var year = 1900 + curDate.year;
			if (month < 10)
				month = "0" + month;
			if (day < 10)
				day = "0" + day;
			return year + "-" + month + "-" + day;
		} else {
			return "";
		}
	},
	
	/**
	 * 计算date与当前时间差(客户端时间)
	 * @param {} date
	 * @return {String}
	 */
	checkTimeStep : function(date){
		if(date){
			if(date == 1){
			     return "刚刚";
			}
            date1 = dateUtil.dateFormatSec(date);
            var time = new Date().getTime() - new Date(date1.replace(/-/g, "\-")).getTime();
            // 开始时间晚于结束时间
            if(time < 0){
                return "刚刚";
            }else if(time <= 60000){
                return ""+Math.ceil(time/1000)+"秒前";
            }else if(time <= 3600000){
                return ""+Math.ceil(time/60000)+"分钟前";
            }else if(time <= 86400000){
                return ""+Math.ceil(time/3600000)+"小时前";
            }else{
                return dateUtil.dateFormat_style(date);
            }
		}else{
			return "";
		}
	},
	/**
     * 计算date与当前系统时间差
     * @param {} date
     * @return {String}
     */
    checkTwoTimeStep : function(date, sysDate){
        if(date){
            if(date == 1){
                 return "刚刚";
            }
            var date1 = dateUtil.dateFormatSec(date);
            var date2 = dateUtil.dateFormatSec(sysDate);
            var time = new Date(date2.replace(/-/g, "\-")).getTime() - new Date(date1.replace(/-/g, "\-")).getTime();
            // 开始时间晚于结束时间
            if(time <= 0){
                return "刚刚";
            }else if(time <= 60000){
                return ""+Math.ceil(time/1000)+"秒前";
            }else if(time <= 3600000){
                return ""+Math.ceil(time/60000)+"分钟前";
            }else if(time <= 86400000){
                return ""+Math.ceil(time/3600000)+"小时前";
            }else{
                return dateUtil.dateFormat_style(date);
            }
        }else{
            return "";
        }
    },
    
    transformMin : function(minute){
    	var str = "";
    	var tempMin = "";
    	if(minute && minute > 0){
    		var m = parseInt(minute);
    		if(minute > 1440){
    			str += Math.floor(minute/1440)+'天';
    			tempMin = minute%1440;
    		}else{
    			tempMin = minute;
    		}
    		if(tempMin > 60){
    			str += Math.floor(tempMin/60)+'小时';
    			tempMin = tempMin%60;
    		}else{
    			tempMin = minute;
    		}
    		str += tempMin+'分';
    	}else{
    		Str = 0;
    	}
    	return str;
    },
    
	dateFormatWeek : function(date) {
		var dateStr = (date.year + 1900) + '-' + (date.month + 1) + '-'
				+ date.date;
		var today = [ "周日", "周一", "周二", "周三", "周四", "周五", "周六" ];
		dateStr = dateStr + '(' + today[date.day] + ')';
		return dateStr;
	}

};
