From ae3349d2ff53767b5bc9cb30e1bf7e15f9e814ee Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 20:45:44 +0800
Subject: [PATCH] 清理测试代码和调试文件

---
 wx/lib/utils.js |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/wx/lib/utils.js b/wx/lib/utils.js
index eccf0a6..d27c9a4 100644
--- a/wx/lib/utils.js
+++ b/wx/lib/utils.js
@@ -7,18 +7,41 @@
  * @returns {string} 鏍煎紡鍖栧悗鐨勬棩鏈熷瓧绗︿覆
  */
 function formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {
-  if (!date) return ''
-  
-  const d = new Date(date)
+  if (date === null || date === undefined || date === '') return ''
+  let d
+
+  // 鏁板瓧锛氬彲鑳芥槸鏃堕棿鎴筹紙绉�/姣锛�
+  if (typeof date === 'number') {
+    // 灏忎簬 1e12 瑙嗕负绉掞紝杞崲涓烘绉�
+    d = new Date(date < 1e12 ? date * 1000 : date)
+  } else if (typeof date === 'string') {
+    let s = date.trim()
+    if (!s) return ''
+    // 澶勭悊 ISO 鍜屽父瑙佸悗绔牸寮�
+    // 1) 鍚� 'T' 鐨� ISO 瀛楃涓诧紝鍘绘帀姣涓� Z 鐨勫奖鍝嶏紙淇濇寔鏈湴鏃堕棿锛�
+    s = s.replace('T', ' ').replace(/\.000Z?$/i, '')
+    // 2) YYYY-MM-DD -> 寰俊 JSCore 瀵硅繛瀛楃瑙f瀽涓嶇ǔ瀹氾紝杞枩鏉�
+    if (/^\d{4}-\d{2}-\d{2}(?:\s+\d{2}:\d{2}:\d{2})?$/.test(s)) {
+      s = s.replace(/-/g, '/')
+      // 浠呮棩鏈熻ˉ鏃堕棿锛岄伩鍏� NaN
+      if (s.length === 10) s += ' 00:00:00'
+    }
+    d = new Date(s)
+  } else if (date instanceof Date) {
+    d = date
+  } else {
+    return ''
+  }
+
   if (isNaN(d.getTime())) return ''
-  
+
   const year = d.getFullYear()
   const month = String(d.getMonth() + 1).padStart(2, '0')
   const day = String(d.getDate()).padStart(2, '0')
   const hours = String(d.getHours()).padStart(2, '0')
   const minutes = String(d.getMinutes()).padStart(2, '0')
   const seconds = String(d.getSeconds()).padStart(2, '0')
-  
+
   return format
     .replace('YYYY', year)
     .replace('MM', month)

--
Gitblit v1.8.0