소스 검색

format传参规范时间格式

lifanagju_citu 10 달 전
부모
커밋
7b51af464d
1개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 13 8
      src/utils/date.js

+ 13 - 8
src/utils/date.js

@@ -1,16 +1,21 @@
 // 时间戳转换为年月日时分秒
-export const timesTampChange = (timestamp) => {
+export const timesTampChange = (timestamp, format = 'Y-M-D h:m:s') => {
   if (!timestamp) return ''
   const date = new Date(timestamp)
-  const Y = date.getFullYear() + '-'
-  const M = (date.getMonth() + 1).toString().padStart(2, '0') + '-'
-  const D = date.getDate().toString().padStart(2, '0') + ' '
+  const Y = date.getFullYear().toString()
+  const M = (date.getMonth() + 1).toString().padStart(2, '0')
+  const D = date.getDate().toString().padStart(2, '0')
 
-  const h = date.getHours().toString().padStart(2, '0') + ':'
-  const m = date.getMinutes().toString().padStart(2, '0') + ':'
+  const h = date.getHours().toString().padStart(2, '0')
+  const m = date.getMinutes().toString().padStart(2, '0')
   const s = date.getSeconds().toString().padStart(2, '0')
-  const strDate = Y + M + D + h + m + s
-  return strDate
+
+  const formatter = { 'Y': Y, 'M': M, 'D': D, 'h': h, 'm': m, 's': s } // 替换format中的占位符
+  let formattedDate = format.replace(/Y|M|D|h|m|s/g, matched => formatter[matched]) // 使用正则表达式匹配并替换占位符
+  
+  if (!formattedDate) formattedDate = Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s
+
+  return formattedDate
 }
 
 // 将 Wed May 01 2024 00:00:00 GMT+0800 (中国标准时间) 转换为时间戳