Prechádzať zdrojové kódy

feat(basic): 添加 TimeHelper 时间格式化方法

- 增加 formatDate 方法支持 Date 对象和时间戳格式化
- 更新 README 和 CHANGELOG 文档
-优化 TimeHelper 类结构
徐勤民 1 mesiac pred
rodič
commit
d926fbda4f
3 zmenil súbory, kde vykonal 95 pridanie a 10 odobranie
  1. 1 0
      CHANGELOG.md
  2. 70 0
      README.md
  3. 24 10
      src/main/ets/utils/TimeHelper.ts

+ 1 - 0
CHANGELOG.md

@@ -2,6 +2,7 @@
 
 ------
 > - 调整web相关,添加JavaScript机制,用来做H5和原生通信
+> - TimerHelper添加时间格式化方法
 > 
 
 

+ 70 - 0
README.md

@@ -105,6 +105,30 @@ import { ToolsHelper } from '@szyx/sdk_base';
 ToolsHelper.getDeviceInfo()
 ```
 
+#### 1.3.5.ArrayBuffer转string
+
+```tsx
+import { ToolsHelper } from '@szyx/sdk_base';
+
+ToolsHelper.toString()
+```
+
+#### 1.3.6.获取随机数
+
+```tsx
+import { ToolsHelper } from '@szyx/sdk_base';
+
+ToolsHelper.getUuid()
+```
+
+#### 1.3.7.防抖
+
+```tsx
+import { ToolsHelper } from '@szyx/sdk_base';
+
+ToolsHelper.debounceHold(()=>{},300)
+```
+
 ### 1.4.[ValidatorHelper](./src/main/ets/utils/ValidatorHelper.ets)
 
 > 常用正则
@@ -173,6 +197,7 @@ export class JSSdkClsManager {
   }
 }
 ```
+
 ```tsx
 // 定义控制器
 xc: XWebJsController = {} as XWebJsController
@@ -211,6 +236,51 @@ PickerDateTimeHelper.showDateDialog({
 }, this)
 ```
 
+### 1.7.[TimeHelper](./src/main/ets/utils/TimeHelper.ts)
+
+> 时间日期选择弹窗相关
+>
+
+#### 1.7.1 获取当前时间戳
+
+```tsx
+import { TimeHelper } from '@szyx/sdk_base'
+
+TimeHelper.getTimeMillis()
+```
+
+#### 1.7.2 获取当前时间的指定格式的字符串
+
+```tsx
+import { TimeHelper } from '@szyx/sdk_base'
+
+TimeHelper.getTime()
+```
+
+#### 1.7.3 获取指定时间的指定格式的字符串
+
+```tsx
+import { TimeHelper } from '@szyx/sdk_base'
+
+TimeHelper.formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss')
+```
+
+#### 1.7.4 获取指定时间的指定格式的字符串(时间戳参数)
+
+```tsx
+import { TimeHelper } from '@szyx/sdk_base'
+
+TimeHelper.formatDateForTime(time, 'yyyy-MM-dd HH:mm:ss')
+```
+
+#### 1.7.4 获取指定年月天数
+
+```tsx
+import { TimeHelper } from '@szyx/sdk_base'
+
+TimeHelper.getMonthDays()
+```
+
 ## 2.[Dialog](./src/main/ets/dialog)
 
 ### 2.1.弹出list选中弹窗

+ 24 - 10
src/main/ets/utils/TimeHelper.ts

@@ -34,17 +34,31 @@ export class TimeHelper {
     return TimeHelper.formatDate(new Date(), format)
   }
 
-  static formatDate(date: Date, format: string) {
-    const replacements: { [key: string]: string } = {
-      yyyy: date.getFullYear().toString(),
-      MM: String(date.getMonth() + 1).padStart(2, "0"),
-      dd: String(date.getDate()).padStart(2, "0"),
-      HH: String(date.getHours()).padStart(2, "0"),
-      mm: String(date.getMinutes()).padStart(2, "0"),
-      ss: String(date.getSeconds()).padStart(2, "0")
-    };
-    return format.replace(/yyyy|MM|dd|HH|mm|ss/g, matched => replacements[matched]);
+  /**
+   * 时间格式化
+   * @param date number类型为毫秒级时间戳
+   * @param format
+   * @returns
+   */
+  static formatDate(date: Date | number, format: string) {
+
+    if (typeof date === 'number') {
+      return this.formatDate(new Date(date), format);
+    } else {
+      const replacements: { [key: string]: string } = {
+        yyyy: date.getFullYear().toString(),
+        MM: String(date.getMonth() + 1).padStart(2, "0"),
+        dd: String(date.getDate()).padStart(2, "0"),
+        HH: String(date.getHours()).padStart(2, "0"),
+        mm: String(date.getMinutes()).padStart(2, "0"),
+        ss: String(date.getSeconds()).padStart(2, "0")
+      };
+      return format.replace(/yyyy|MM|dd|HH|mm|ss/g, matched => replacements[matched]);
+    }
+
   }
+
+  // 时间戳转指定类型字符串(毫秒级)
   static formatDateForTime(time: number, format: string) {
     return this.formatDate(new Date(time), format);
   }