From b9fbd871074ba7b4f4893290fc669f3a8d62634b Mon Sep 17 00:00:00 2001
From: dcc <dcc@163.com>
Date: Sat, 03 Aug 2024 14:59:37 +0800
Subject: [PATCH] 123

---
 src/utils/utils.js |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 2e61c45..c9c66e0 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -44,10 +44,48 @@
   }
 };
 
+//转成12小时制时间
 export const initDate = (originalTimeStr) => {
   const now = new Date(); // 创建一个当前日期时间的实例,这里只使用日期部分不影响时间部分
-  const timeParts = originalTimeStr.split(':'); // 将时间字符串拆分为时、分、秒
+  const timeParts = originalTimeStr.split(":"); // 将时间字符串拆分为时、分、秒
   now.setHours(timeParts[0], timeParts[1], timeParts[2]); // 设置日期时间的小时、分钟、秒,但不改变日期
-  return now.toLocaleTimeString('en-US');
+  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
+};

--
Gitblit v1.9.3