/**
 * 根据时间数字获取时间轴最新节点位置
 * @param {} timeNumber 
 * @returns 
 */
export function getTimeToIndex(timeNumber) {
  var endIndex = (timeNumber / 26).toFixed(3) * 100
  return endIndex
}

/**
 * 时间(时分)转为数字
 * @param {日期时间字符串} timeStr 
 */
export function timeToDecimalTime(timeStr) {
  var time = new Date(timeStr)
  var h = time.getHours()
  var m = time.getMinutes()
  var mn = m / 60 < 0.5 ? 0.5 : 1
  return h + mn
}
/**
 * 比较两个日期大小
 * @param {*} dateStr1 
 * @param {*} dateStr2 
 */
export function dateCompare(dateStr1, dateStr2) {
  var date = new Date(dateStr1)
  var date2 = new Date(dateStr2)
  var comDate = new Date(date.getFullYear(), date.getMonth(), date.getDate())
  var comDate2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate())
  var comDateTime = comDate.getTime()
  var comDateTime2 = comDate2.getTime()
  return comDateTime == comDateTime2
}
/**
 * 
 * @param {*} time 
 * @param {*} timeSub 
 */
export function timeSubtract(time, timeSub) {
  var d = new Date(time)
  var dateTime = d.getTime()
  var time = timeSub * 60 * 60 * 1000
  var resTime = dateTime - time
  var resDate = new Date(resTime)
  return resDate
}

/**
 * 求时间差值分钟
 */
export function timeSubtractMin(startTime, endTime) {
  var s = new Date(startTime)
  var e = new Date(endTime)
  var timeSubS = e - s
  var res = Math.floor(timeSubS / (1000 * 60))
  return res
}
/**
 * 数据转时分
 * @param {} timeDecimal 
 */
export function decimalTimeToTime(timeDecimal) {
  var timeD = timeDecimal / 100
  var timeDecimal = timeD * 26
  var hour = Math.floor(timeDecimal)
  var min = Math.round((timeDecimal - hour) * 60);
  return hour + ":" + min + ':00'
}

export function isEmptyObject(obj) {
  // 首先确保传入的是一个对象
  if (typeof obj !== 'object' || obj === null || Array.isArray(obj)) {
    return false;
  }

  // 使用for...in循环检查是否有属性
  for (let key in obj) {
    // 如果找到一个属性，则不是空对象
    return false;
  }

  // 如果没有找到任何属性，则是空对象
  return true;
}

export default {
  getTimeToIndex,
  timeToDecimalTime,
  dateCompare,
  timeSubtract,
  timeSubtractMin,
  decimalTimeToTime,
  isEmptyObject
}