浏览代码

perf[utils.js]: perf parseTime function

花裤衩 5 年之前
父节点
当前提交
f32b49e662
共有 1 个文件被更改,包括 4 次插入7 次删除
  1. 4 7
      src/utils/index.js

+ 4 - 7
src/utils/index.js

@@ -6,7 +6,7 @@
6
  * Parse the time to string
6
  * Parse the time to string
7
  * @param {(Object|string|number)} time
7
  * @param {(Object|string|number)} time
8
  * @param {string} cFormat
8
  * @param {string} cFormat
9
- * @returns {string}
9
+ * @returns {string | null}
10
  */
10
  */
11
 export function parseTime(time, cFormat) {
11
 export function parseTime(time, cFormat) {
12
   if (arguments.length === 0) {
12
   if (arguments.length === 0) {
@@ -34,14 +34,11 @@ export function parseTime(time, cFormat) {
34
     s: date.getSeconds(),
34
     s: date.getSeconds(),
35
     a: date.getDay()
35
     a: date.getDay()
36
   }
36
   }
37
-  const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
38
-    let value = formatObj[key]
37
+  const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
38
+    const value = formatObj[key]
39
     // Note: getDay() returns 0 on Sunday
39
     // Note: getDay() returns 0 on Sunday
40
     if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
40
     if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
41
-    if (result.length > 0 && value < 10) {
42
-      value = '0' + value
43
-    }
44
-    return value || 0
41
+    return value.toString().padStart(2, '0')
45
   })
42
   })
46
   return time_str
43
   return time_str
47
 }
44
 }