const DateHelper = {
    /**
     * 本地时间当前月
     */
    LocalCurrentMonth: function () {
        var now = new Date()
        var nowMonth = now.getMonth()
        return (nowMonth + 1)
    },

    /**
     * 本地时间当前月的第一天
     */
    LocalCurrentMonthStart: function () {
        var now = new Date()
        var nowMonth = now.getMonth()
        var nowYear = now.getFullYear()
        return new Date(nowYear, nowMonth, 1)
    },

    /**
     * 本地时间当前月的最后一天
     */
    LocalCurrentMonthEnd: function () {
        var now = new Date()
        var nowMonth = now.getMonth()
        var nowYear = now.getFullYear()
        return new Date(nowYear, nowMonth + 1, 0)
    },

    /**
     * 验证日期区间，通过返回true,否则返回false
     */
    ValidateDateRange: function (begin, end) {
        let beginTemp = ''
        let endTemp = ''
        if (begin && end && typeof (begin) === 'string' && typeof (end) === 'string') {
            // 火狐支持“月/日/年”，而不是“月-日-年”，会返回NaN。
            begin = begin.replace(/-/g, '/')
            end = end.replace(/-/g, '/')
            beginTemp = new Date(begin)
            endTemp = new Date(end)
        }

        if (Object.prototype.toString.call(beginTemp) == '[object Date]' && Object.prototype.toString.call(endTemp) == '[object Date]') {
            // 比较
            return beginTemp.getTime() <= endTemp.getTime()
        } else {
            return false
        }
    },

    /**
     * 格式化日期时间
     */
    Format: function (date, fmt) {
        // 小时只支持24小时制
        var o = {
            'M+': date.getMonth() + 1, // 月份
            'd+': date.getDate(), // 日
            'H+': date.getHours(), // 24小时,
            'm+': date.getMinutes(), // 分
            's+': date.getSeconds(), // 秒
            'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
            S: date.getMilliseconds() // 毫秒
        }
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(
                RegExp.$1,
                (date.getFullYear() + '').substr(4 - RegExp.$1.length)
            )
        }
        for (var k in o) {
            if (new RegExp('(' + k + ')').test(fmt)) {
                fmt = fmt.replace(
                    RegExp.$1,
                    RegExp.$1.length == 1
                        ? o[k]
                        : ('00' + o[k]).substr(('' + o[k]).length)
                )
            }
        }
        return fmt
    },

    /**
     * 昨天的日期
     */
    Yesterday: function () {
        var today = new Date()
        today.setTime(today.getTime() - 24 * 60 * 60 * 1000)
        return today
    },

    // 获取当前时间
    getNowTime: function () {
        const nowDate = new Date()
        const date = {
            year: nowDate.getFullYear(),
            month: nowDate.getMonth() + 1,
            date: nowDate.getDate(),
            hour: nowDate.getHours(),
            minutes: nowDate.getMinutes(),
            seconds: nowDate.getSeconds()
        }
        const newmonth = date.month > 10 ? date.month : '0' + date.month
        const day = date.date > 10 ? date.date : '0' + date.date
        let time = date.year + '-' + newmonth + '-' + day + ' ' + date.hour + ':' + date.minutes + ':' + date.seconds
        return time.toString()
    }

}
export default DateHelper
