1
jhzh
2024-08-12 f1dc8f5a7f3a661ce19513a9ad47fe18e3e883ff
src/utils/utils.js
@@ -44,3 +44,48 @@
  }
};
//转成12小时制时间
export const initDate = (originalTimeStr) => {
  const now = new Date(); // 创建一个当前日期时间的实例,这里只使用日期部分不影响时间部分
  const timeParts = originalTimeStr.split(":"); // 将时间字符串拆分为时、分、秒
  now.setHours(timeParts[0], timeParts[1], timeParts[2]); // 设置日期时间的小时、分钟、秒,但不改变日期
  return now.toLocaleTimeString("en-US");
};
//转成24小时制时间
export const timeString = (timeString) => {
  let [datePart, timePart, mPart] = timeString.split(/ +/);
  let [hours, minutes, seconds] = timePart.split(":");
  console.log(timePart, hours);
  // 如果是下午(PM),并且小时不是12,则将其转换为24小时制
  if (mPart.includes("PM") && hours !== "12") {
    console.log(parseInt(hours, 10) + 12);
    hours = parseInt(hours, 10) + 12;
  }
  // 如果是上午(AM)并且小时是12,则小时部分设为0
  if (mPart.includes("AM") && hours === "12") {
    hours = "00";
  }
  // 补足小时、分钟和秒的格式
  hours = hours.toString().padStart(2, "0");
  let twentyFourHourTimeString = `${datePart} ${hours}:${minutes}:${seconds}`;
  return twentyFourHourTimeString
};
// 美国时间
export const dateString = (inputDateTime) => {
  let time
  if(/[a-zA-Z]/.test(inputDateTime)){
    time = timeString(inputDateTime)
  }else{
    time = inputDateTime
  }
  // 将输入的日期时间字符串转换为Date对象
  var date = new Date(time.replace(/ /, "T"));
  // 减去12小时
  date.setHours(date.getHours() - 12);
  // 格式化输出结果
  var outputDateTime = date.toLocaleString()
  outputDateTime = outputDateTime.replaceAll('/','-')
  return outputDateTime
};