UNPKG

@jxstjh/jhvideo

Version:

HTML5 jhvideo base on MPEG2-TS Stream Player

55 lines (54 loc) 1.99 kB
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}` }