import { min } from "../../node_modules/rxjs/dist/types/index"

const getTime = (str: string) => {
    str = str.replace(new RegExp('-','g'), '/')
    str = str.split('.')[0]
    return new Date(str).getTime()
}
export interface RecordItem {
    begintime: number,
    endtime: number
}
function isContinuous(begin, end) {
    const minus = Math.abs(begin - end)
    return minus <= 1000 * 3
}
export const filterQueryRecordArr = (arr: Array<{ begintime: string, endtime: string }>): RecordItem[] => {
    let result: RecordItem[] = []
    if (!Array.isArray(arr) || arr.length === 0) {
        return result
    }
    const _arr: RecordItem[] = arr.map(item => ({
        begintime: getTime(item.begintime),
        endtime: getTime(item.endtime)
    }))
    const [start, ...others] = _arr
    result = [start]
    others.forEach((item) => {
        // if (item.begintime !== result[result.length - 1].endtime) {
        if (!isContinuous(item.begintime, result[result.length - 1].endtime)) {
            result.push(item)
        } else {
            result[result.length - 1].endtime = item.endtime
        }
    });
    return result
}
export const formatTimeStr = (time: number, fix = false) => {
    const now = new Date(time)
    const h = now.getHours()   //hour
    const m = now.getMinutes()   //minute
    const s = now.getSeconds()   //second
    let _h: any = h < 10 ? '0' + h : '' + h
    let _m: string = m < 10 ? '0' + m : '' + m
    let _s: string = s < 10 ? '0' + s : '' + s
    return `${_h}:${_m}:${_s}`
}
export const formatTimeClock = (time: number) => {
    const h = Math.floor(time / (3600 * 1000))
    const m = Math.floor((time - (3600 * 1000) * h) / (60 * 1000))
    const s = Math.floor((time - (3600 * 1000) * h - (60 * 1000) * m) / 1000)
    let _h: any = h < 10 ? '0' + h : '' + h
    let _m: string = m < 10 ? '0' + m : '' + m
    let _s: string = s < 10 ? '0' + s : '' + s
    return `${_h}:${_m}:${_s}`
}