diff --git a/CHANGELOG.md b/CHANGELOG.md index 02ee5dd..dcf8dfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ------ > - 调整web相关,添加JavaScript机制,用来做H5和原生通信 +> - TimerHelper添加时间格式化方法 > diff --git a/README.md b/README.md index b1f4ebe..a1a80ee 100644 --- a/README.md +++ b/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选中弹窗 diff --git a/src/main/ets/utils/TimeHelper.ts b/src/main/ets/utils/TimeHelper.ts index bbedb64..6d2bd63 100644 --- a/src/main/ets/utils/TimeHelper.ts +++ b/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); }