1.DateUtil.js

  如果有更新内容的时候,会持续更新中......

if (!DateUtil) {
    var DateUtil = {
        //日期格式部分
        yyyy_MM_dd_HH_mm_ss: "yyyy-MM-dd HH:mm:ss",
        yyyy_MM_dd: "yyyy-MM-dd",
        yyyy_MM_dd_1: "yyyy/MM/dd",
        yyyyMMdd: "yyyyMMdd",
        HH_mm_ss: "HH:mm:ss",

        init: function () {

        },
        /**
         * 判断数据是否为空
         * @param data
         * @returns {boolean}
         */
        isNull: function (data) {
            if (data == null || data == undefined || data == '') {
                return true;
            } else {
                return false;
            }
        },
        /**
         * 判断是否为日期
         * @param date 不支持yyyyMMdd格式
         * @returns {boolean}
         */
        isDate: function(date){
            if (isNaN(date) && !isNaN(Date.parse(date))) {
                return true;
            } else {
                return false;
            }
        },
        /**
         * 获取当前日期
         * @returns {Date}
         */
        getNowDate: function () {
            return new Date();
        },
        /**
         * 获取当前时间戳
         * @returns {number}
         */
        getNowTimeStamp: function () {
            return parseInt(Math.ceil(new Date().getTime()));
        },
        /**
         * Date日期格式化
         * @param date
         * @param pattern 可为空,默认yyyy-MM-dd HH:mm:ss
         * @returns {string}
         */
        format: function (date, pattern) {
            var yy = date.getFullYear();      //年
            var mm = date.getMonth() + 1;     //月
            var dd = date.getDate();          //日
            var hh = date.getHours();         //时
            var ii = date.getMinutes();       //分
            var ss = date.getSeconds();       //秒

            var clock = yy + "-";
            if (mm < 10) clock += "0";
            clock += mm + "-";
            if (dd < 10) clock += "0";
            clock += dd + " ";
            if (hh < 10) clock += "0";
            clock += hh + ":";
            if (ii < 10) clock += '0';
            clock += ii + ":";
            if (ss < 10) clock += '0';
            clock += ss;
            if (DateUtil.isNull(pattern) || pattern == DateUtil.yyyy_MM_dd_HH_mm_ss) {
                return clock;
            } else if (pattern == DateUtil.yyyy_MM_dd) {
                return clock.substring(0, 10);
            } else if (pattern == DateUtil.HH_mm_ss) {
                return clock.substring(11);
            } else if (pattern == DateUtil.yyyy_MM_dd_1) {
                return clock.substring(0, 10).replace(/-/g, '/');
            } else if (pattern == DateUtil.yyyyMMdd) {
                return clock.substring(0, 10).replace(/-/g, '');
            } else {
                return clock;
            }
        },
        /**
         * 日期字符串转时间戳
         * @param date  不支持yyyyMMdd格式
         * @returns {number}
         */
        strDate2TimeStamp: function (date) {
            date = date.replace(/-/g, '/');
            return new Date(date).getTime();
        },
        /**
         * 时间戳转日期字符串(yyyy-MM-dd HH:mm:ss)
         * @param timeStamp
         * @returns {string}
         */
        timeStamp2strDate: function (timeStamp) {
            var d = new Date(timeStamp);    //根据时间戳生成的时间对象
            var date = (d.getFullYear()) + "-"
                + (d.getMonth() + 1 < 10?"0"+(d.getMonth()+1):d.getMonth()+1) + "-"
                + (d.getDate()<10?"0"+d.getDate():d.getDate()) + " "
                + (d.getHours()<10?"0"+d.getHours():d.getHours()) + ":"
                + (d.getMinutes()<10?"0"+d.getMinutes():d.getMinutes()) + ":"
                + (d.getSeconds()<10?"0"+d.getSeconds():d.getSeconds());
            return date;
        },
        /**
         * 获取几天前日期(1代表明天,-1 代表前一天,-2前两天...)
         * @param num
         * @param separator 连接符 如果为-,则结果为:yyyy-MM-dd
         */
        getDay:function (num,separator) {
            var today = new Date();
            var nowTime = today.getTime();
            var ms = 24*3600*1000*num;
            today.setTime(parseInt(nowTime + ms));
            var oYear = today.getFullYear();
            var oMoth = (today.getMonth() + 1).toString();
            if (oMoth.length <= 1) oMoth = '0' + oMoth;
            var oDay = today.getDate().toString();
            if (oDay.length <= 1) oDay = '0' + oDay;
            return oYear + separator + oMoth + separator + oDay;
        },
        /**
         * 判断某一年是否是闰年
         * @param year
         * @returns {boolean}
         */
        isLeapYear:function (year) {
            return((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0);
        },
        /**
         * 获取某年某个月的天数(西方月份)
         * @param year
         * @param month 从0开始
         */
        getDaysOfMonthEN:function (year,month) {
            return [31, (this.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
        },
        /**
         * 获取某年某个月的天数(中国月份)
         * @param year
         * @param month 从1开始
         */
        getDaysOfMonthCN:function (year,month) {
            return ['中国没有0月',31, (this.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
        },
        /**
         * 计算一个日期是当年的第几天
         * @param date 字符串日期
         * @returns {number}
         */
        dayOfTheYear:function (date) {
            var obj = new Date(date);
            var year = obj.getFullYear();
            var month = obj.getMonth(); //从0开始
            var days = obj.getDate();
            var daysArr = [31, (this.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
            for(var i = 0; i < month; i++) {
                days += daysArr[i];
            }
            return days;
        },
        /**
         * 比较两个时间大小(不支持yyyyMMdd格式)
         *    date1>date2 return 1
         *    date1<date2 return -1
         *    date1==date2 return 0
         * @returns {number}
         */
        compareTime:function (date1, date2) {
            if(Date.parse(date1.replace(/-/g, "/")) > Date.parse(date2.replace(/-/g, "/"))) {
                return 1;
            } else if(Date.parse(date1.replace(/-/g, "/")) < Date.parse(date2.replace(/-/g, "/"))) {
                return -1;
            } else if(Date.parse(date1.replace(/-/g, "/")) == Date.parse(date2.replace(/-/g, "/"))) {
                return 0;
            }
        },
        /**
         * 获取本周开始日期
         * @returns {*|string}
         */
        getWeekStartDay:function () {
            var now = new Date();
            var date = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() + 1);
            return DateUtil.format(date,DateUtil.yyyy_MM_dd);
        },
        /**
         * 获取本周结束日期
         * @returns {*|string}
         */
        getWeekEndDay:function () {
            var now = new Date();
            var date = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (7 - now.getDay()));
            return DateUtil.format(date,DateUtil.yyyy_MM_dd);
        },
        /**
         * 获取上周开始日期
         * @returns {*|string}
         */
        getUpWeekStartDay:function () {
            var now = new Date();
            var date = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() -6);
            return DateUtil.format(date,DateUtil.yyyy_MM_dd);
        },
        /**
         * 获取上周结束日期
         * @returns {*|string}
         */
        getUpWeekEndDay:function () {
            var now = new Date();
            var date = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay());
            return DateUtil.format(date,DateUtil.yyyy_MM_dd);
        },

    }
}

猜你喜欢

转载自blog.csdn.net/lzb348110175/article/details/88975547