js封裝時間轉換工具,實現日期之前的轉換

此博客內容借鑑其他博友的博客,做了改善,更爲健全,多謝博友的分享。點開鏈接查看博友博客

/**
 * 
 * @項目名稱:millery
 * @文件名稱:millery
 * @類描述:js工具類
 * @創建人:millery
 * @創建時間:2015年12月23日 
 */
var TimeObjectUtil = {
		
    /**
     * @描述:獲取當前時間毫秒數
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    getCurrentMsTime : function() {
        var myDate = new Date();
        return myDate.getTime();
    },

    /**
     * @描述:轉換日期格式yyyy-MM-dd HH:mm:ss
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    DateTimeConvertToDateTime : function(dateTime) {
        return this.formatterDateTime(dateTime);
    },
    
    /**
     * @描述:時間格式轉毫秒
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    dateToLongMsTime : function(date) {
        return date.getTime();
    },

    /**
     * @描述:格式化日期(不含時間)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    formatterDate : function(date) {
    	var datetime = new Date(date);
        var result = datetime.getFullYear()
                + "-"// "年"
                + ((datetime.getMonth() + 1) >= 10 ? (datetime.getMonth() + 1) : "0"
                        + (datetime.getMonth() + 1))
                + "-"// "月"
                + (datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime
                        .getDate());
        return result;
    },
    
    /**
     * @描述:格式化日期(含時間"00:00:00")
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    formatterDate2 : function(date) {
    	var datetime = new Date(date);
        var result = datetime.getFullYear()
                + "-"// "年"
                + ((datetime.getMonth() + 1) >= 10 ? (datetime.getMonth() + 1) : "0"
                        + (datetime.getMonth() + 1))
                + "-"// "月"
                + (datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime
                        .getDate()) + " " + "00:00:00";
        return result;
    },
   
    /**
     * @描述:格式化去日期(含時間)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    formatterDateTime : function(date) {
    	var datetime = new Date(date);
        var result = datetime.getFullYear()
                + "-"// "年"
                + ((datetime.getMonth() + 1) >= 10 ? (datetime.getMonth() + 1) : "0"
                        + (datetime.getMonth() + 1))
                + "-"// "月"
                + (datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime
                        .getDate())
                + " "
                + (datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime
                        .getHours())
                + ":"
                + (datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime
                        .getMinutes())
                + ":"
                + (datetime.getSeconds() < 10 ? "0" + datetime.getSeconds() : datetime
                        .getSeconds());
        return result;
    },
    
    /**
     * @描述:時間比較(結束時間大於開始時間)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    compareDateTime : function(startTime, endTime) {
        return ((new Date(endTime.replace(/-/g, "/"))) > (new Date(
                startTime.replace(/-/g, "/"))));
    },
   
    /**
     * @描述:驗證開始時間合理性(開始時間不能小於當前時間X個月)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    compareRightStartTime : function(month, startTime) {
        var now = formatterDayAndTime(new Date());
        var sms = new Date(startTime.replace(/-/g, "/"));
        var ems = new Date(now.replace(/-/g, "/"));
        var tDayms = month * 30 * 24 * 60 * 60 * 1000;
        var dvalue = ems - sms;
        if (dvalue > tDayms) {
            return false;
        }
        return true;
    },
    
    /**
     * @描述:驗證開始時間合理性(結束時間不能小於當前時間(X)個月)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    compareRightEndTime : function(month, endTime) {
        var now = formatterDayAndTime(new Date());
        var sms = new Date(now.replace(/-/g, "/"));
        var ems = new Date(endTime.replace(/-/g, "/"));
        var tDayms = month * 30 * 24 * 60 * 60 * 1000;
        var dvalue = sms - ems;
        if (dvalue > tDayms) {
            return false;
        }
        return true;
    },
    
    /**
     * @描述:驗證開始時間合理性(結束時間與開始時間的間隔不能大於(X)個月)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    compareEndTimeGTStartTime : function(month, startTime, endTime) {
        var sms = new Date(startTime.replace(/-/g, "/"));
        var ems = new Date(endTime.replace(/-/g, "/"));
        var tDayms = month * 30 * 24 * 60 * 60 * 1000;
        var dvalue = ems - sms;
        if (dvalue > tDayms) {
            return false;
        }
        return true;
    },
    
    /**
     * @描述:獲取最近幾天(開始時間和結束時間值,時間往前推算)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    getRecentDaysDateTime : function(day) {
        var daymsTime = day * 24 * 60 * 60 * 1000;
        var yesterDatsmsTime = this.getCurrentMsTime() - daymsTime;
        var startTime = this.longMsTimeConvertToDateTime(yesterDatsmsTime);
        var pastDate = this.formatterDate2(new Date(startTime));
        var nowDate = this.formatterDate2(new Date());
        var obj = {
            startTime : pastDate,
            endTime : nowDate
        };
        return obj;
    },
    
    /**
     * @描述:獲取今天(開始時間和結束時間值)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    getTodayDateTime : function() {
        var daymsTime = 24 * 60 * 60 * 1000;
        var tomorrowDatsmsTime = this.getCurrentMsTime() + daymsTime;
        var currentTime = this.longMsTimeConvertToDateTime(this.getCurrentMsTime());
        var termorrowTime = this.longMsTimeConvertToDateTime(tomorrowDatsmsTime);
        var nowDate = this.formatterDate2(new Date(currentTime));
        var tomorrowDate = this.formatterDate2(new Date(termorrowTime));
        var obj = {
            startTime : nowDate,
            endTime : tomorrowDate
        };
        return obj;
    },
    
    /**
     * @描述:獲取明天(開始時間和結束時間值)
     * @創建人:millery
     * @創建時間:2015年12月23日
     */
    getTomorrowDateTime : function() {
        var daymsTime = 24 * 60 * 60 * 1000;
        var tomorrowDatsmsTime = this.getCurrentMsTime() + daymsTime;
        var termorrowTime = this.longMsTimeConvertToDateTime(tomorrowDatsmsTime);
        var theDayAfterTomorrowDatsmsTime = this.getCurrentMsTime()+ (2 * daymsTime);
        var theDayAfterTomorrowTime = this.longMsTimeConvertToDateTime(theDayAfterTomorrowDatsmsTime);
        var pastDate = this.formatterDate2(new Date(termorrowTime));
        var nowDate = this.formatterDate2(new Date(theDayAfterTomorrowTime));
        var obj = {
            startTime : pastDate,
            endTime : nowDate
        };
        return obj;
    }
};


發佈了44 篇原創文章 · 獲贊 68 · 訪問量 54萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章