页面
This commit is contained in:
		
							parent
							
								
									89f2b20df5
								
							
						
					
					
						commit
						1baa3dd861
					
				| @ -1,6 +1,6 @@ | |||||||
| import dayTs from '../../../utils/Date' |  | ||||||
| import { CusCalendar } from './Calendar' | import { CusCalendar } from './Calendar' | ||||||
| import { promptAction } from '@kit.ArkUI' | import { promptAction } from '@kit.ArkUI' | ||||||
|  | import { dateFormat } from '../../../utils/Utils' | ||||||
| 
 | 
 | ||||||
| @CustomDialog | @CustomDialog | ||||||
| @Component | @Component | ||||||
| @ -112,7 +112,7 @@ export struct DateRangePicker { | |||||||
| 
 | 
 | ||||||
|   setup() { |   setup() { | ||||||
|     if (this.start && this.end) { |     if (this.start && this.end) { | ||||||
|       this.value = [dayTs(this.start).format(this.format), dayTs(this.end).format(this.format)] |       this.value = [dateFormat(this.start, this.format), dateFormat(this.end, this.format)] | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ export struct CusInput { | |||||||
|         bottom: 4, |         bottom: 4, | ||||||
|         right: 8 |         right: 8 | ||||||
|       }) |       }) | ||||||
|       .backgroundColor(0xeeeeee) |       .backgroundColor(0xffffff) | ||||||
|       .placeholderColor(0xd2d2d2) |       .placeholderColor(0xd2d2d2) | ||||||
|       .placeholderFont({ |       .placeholderFont({ | ||||||
|         family: "Alimama" |         family: "Alimama" | ||||||
|  | |||||||
| @ -1,8 +1,8 @@ | |||||||
| import display from '@ohos.display' | import display from '@ohos.display' | ||||||
| import window from '@ohos.window' | import window from '@ohos.window' | ||||||
| import dayTs from '../../../utils/Date' |  | ||||||
| import common from '@ohos.app.ability.common' | import common from '@ohos.app.ability.common' | ||||||
| import { MediaPlayer, PlayerSourceType, PlayStatus } from '../../../utils/MediaPlayer' | import { MediaPlayer, PlayerSourceType, PlayStatus } from '../../../utils/MediaPlayer' | ||||||
|  | import { len2time } from '../../../utils/Utils' | ||||||
| 
 | 
 | ||||||
| interface VideoPlayerAttribute { | interface VideoPlayerAttribute { | ||||||
|   type?: PlayerSourceType |   type?: PlayerSourceType | ||||||
| @ -429,9 +429,9 @@ export default struct VideoPlayer { | |||||||
|   buildCenterButton() { |   buildCenterButton() { | ||||||
|     Row() { |     Row() { | ||||||
|       if (this.touchMode === TouchMode.Seek) { |       if (this.touchMode === TouchMode.Seek) { | ||||||
|         Text(dayTs().len2time(this.current + this.seekLength)).fontSize(10).fontColor(0xffffff) |         Text(len2time(this.current + this.seekLength)).fontSize(10).fontColor(0xffffff) | ||||||
|         Text("/").fontSize(10).fontColor(0xffffff).margin({ left: 2, right: 2 }) |         Text("/").fontSize(10).fontColor(0xffffff).margin({ left: 2, right: 2 }) | ||||||
|         Text(dayTs().len2time(this.duration)).fontSize(10).fontColor(0xffffff) |         Text(len2time(this.duration)).fontSize(10).fontColor(0xffffff) | ||||||
|       } else if (this.status === PlayStatus.Playing) { |       } else if (this.status === PlayStatus.Playing) { | ||||||
|         Image($rawfile("images/player/pause.png")).width(24).height(24) |         Image($rawfile("images/player/pause.png")).width(24).height(24) | ||||||
|       } else if (this.canPlay()) { |       } else if (this.canPlay()) { | ||||||
| @ -544,9 +544,9 @@ export default struct VideoPlayer { | |||||||
|             }) |             }) | ||||||
| 
 | 
 | ||||||
|           Row() { |           Row() { | ||||||
|             Text(dayTs().len2time(this.current)).fontSize(8).fontColor(0xffffff) |             Text(len2time(this.current)).fontSize(8).fontColor(0xffffff) | ||||||
|             Text("/").fontSize(8).fontColor(0xffffff).margin({ left: 2, right: 2 }) |             Text("/").fontSize(8).fontColor(0xffffff).margin({ left: 2, right: 2 }) | ||||||
|             Text(dayTs().len2time(this.duration)).fontSize(8).fontColor(0xffffff) |             Text(len2time(this.duration)).fontSize(8).fontColor(0xffffff) | ||||||
|           }.margin({ right: 8 }) |           }.margin({ right: 8 }) | ||||||
| 
 | 
 | ||||||
|           Stack() { |           Stack() { | ||||||
|  | |||||||
| @ -1,313 +0,0 @@ | |||||||
| /* |  | ||||||
|  * @Author: wangzhongjie |  | ||||||
|  * @Date: 2024-02-21 17:12:56 |  | ||||||
|  * @LastEditors: wangzhongjie |  | ||||||
|  * @LastEditTime: 2024-02-21 21:29:49 |  | ||||||
|  * @Description: 时间工具 |  | ||||||
|  * @Email: shutdown0630@163.com |  | ||||||
|  */ |  | ||||||
| interface DateData { |  | ||||||
|   getFullYear: () => number; |  | ||||||
|   getMonth: () => number; |  | ||||||
|   getDate: () => number; |  | ||||||
|   getHours: () => number; |  | ||||||
|   getMinutes: () => number; |  | ||||||
|   getSeconds: () => number; |  | ||||||
|   getDay: () => number; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // 时间处理相关函数集合dayTs("2024-02-21 17:13:00").format("YYYY-MM-DD HH:mm:ss") |  | ||||||
| class DayTs { |  | ||||||
|   dateData: Date |  | ||||||
| 
 |  | ||||||
|   constructor(date: number | string | Date, offset?: number) { |  | ||||||
|     this.dateData = new Date(date) |  | ||||||
|     if (offset) { |  | ||||||
|       this.dateData = new Date(Number(this.dateData) + offset) |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   private static _paddingZero(num: number): string { |  | ||||||
|     return `${num}`.padStart(2, '0') |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 格式化时间 |  | ||||||
|   public format(formatter: string = 'yyyy/MM/dd HH:mm:ss') { |  | ||||||
|     const day = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'] |  | ||||||
|     const obj: Record<string, string | number | ((dateData: DateData) => string | number)> = { |  | ||||||
|       'Y{4}': (dateData: DateData) => dateData.getFullYear(), |  | ||||||
|       'y+': (dateData: DateData) => dateData.getFullYear(), |  | ||||||
|       'M{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getMonth() + 1), |  | ||||||
|       "D{2}": (dateData: DateData) => DayTs._paddingZero(dateData.getDate()), |  | ||||||
|       'd{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getDate()), |  | ||||||
|       'H{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getHours()), |  | ||||||
|       'h{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getHours() % 12), |  | ||||||
|       'm{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getMinutes()), |  | ||||||
|       's{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getSeconds()), |  | ||||||
|       'M': (dateData: DateData) => dateData.getMonth() + 1, |  | ||||||
|       'd': (dateData: DateData) => dateData.getDate(), |  | ||||||
|       'H': (dateData: DateData) => dateData.getHours(), |  | ||||||
|       'h': (dateData: DateData) => dateData.getHours() % 12, |  | ||||||
|       'm': (dateData: DateData) => dateData.getMinutes(), |  | ||||||
|       's': (dateData: DateData) => dateData.getSeconds(), |  | ||||||
|       'CW': (dateData: DateData) => day[dateData.getDay()], |  | ||||||
|       'W': (dateData: DateData) => dateData.getDay() |  | ||||||
|     }; |  | ||||||
|     const objEntries = Object.entries(obj); |  | ||||||
|     for (let i = 0; i < objEntries.length; i++) { |  | ||||||
|       const key = objEntries[i][0]; |  | ||||||
|       const value = objEntries[i][1]; |  | ||||||
|       const regexp = new RegExp(`(${key})([^a-zA-Z])?`); |  | ||||||
|       const match = regexp.exec(formatter); |  | ||||||
|       if (match) { |  | ||||||
|         formatter = formatter.replace(match[1], `${(value as Function)(this.dateData)}`); |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return formatter |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取时间戳 |  | ||||||
|   valueOf() { |  | ||||||
|     return this.dateData.getTime() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取年份 |  | ||||||
|   year() { |  | ||||||
|     // |  | ||||||
|     return this.dateData.getFullYear() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取月份 |  | ||||||
|   month() { |  | ||||||
|     return this.dateData.getMonth() + 1 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取日期 |  | ||||||
|   date() { |  | ||||||
|     return this.dateData.getDate() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取小时 |  | ||||||
|   hour() { |  | ||||||
|     return this.dateData.getHours() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取分钟 |  | ||||||
|   minute() { |  | ||||||
|     return this.dateData.getMinutes() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取秒 |  | ||||||
|   second() { |  | ||||||
|     return this.dateData.getSeconds() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取毫秒 |  | ||||||
|   millisecond() { |  | ||||||
|     return this.dateData.getMilliseconds() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取星期几 |  | ||||||
|   day() { |  | ||||||
|     return this.dateData.getDay() |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取一年中的第几天 |  | ||||||
|   dayOfYear() { |  | ||||||
|     return 21 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取一月中的第几天 |  | ||||||
|   dayOfMonth() { |  | ||||||
|     return 21 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取一周中的第几天 |  | ||||||
|   dayOfWeek(format?: boolean) { |  | ||||||
|     const weeks = ["日", "一", "二", "三", "四", "五", "六",] |  | ||||||
|     return format ? weeks[this.dateData.getDay()] : this.dateData.getDay() + "" |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取两个时间差值 |  | ||||||
|   diff(date: Date | string, unit?: Unit, isFloat?: boolean) { |  | ||||||
|     // 计算this.dateData和date的时间差 |  | ||||||
|     const date1 = new Date(this.dateData) |  | ||||||
|     const date2 = new Date(date) |  | ||||||
|     // 计算时间差 |  | ||||||
|     const diffValue = date1.getTime() - date2.getTime() |  | ||||||
|     if (unit) { |  | ||||||
|       if (unit === "ms" || unit === "millisecond") { |  | ||||||
|         return diffValue |  | ||||||
|       } |  | ||||||
|       if (unit === "s" || unit === "second") { |  | ||||||
|         return Math.floor(diffValue / 1000) |  | ||||||
|       } |  | ||||||
|       if (unit === "m" || unit === "minute") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60) |  | ||||||
|       } |  | ||||||
|       if (unit === "h" || unit === "hour") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60) |  | ||||||
|       } |  | ||||||
|       if (unit === "d" || unit === "day") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24) |  | ||||||
|       } |  | ||||||
|       if (unit === "w" || unit === "week") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 7) |  | ||||||
|       } |  | ||||||
|       if (unit === "M" || unit === "month") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 30) |  | ||||||
|       } |  | ||||||
|       if (unit === "Q" || unit === "quarter") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 30 / 3) |  | ||||||
|       } |  | ||||||
|       if (unit === "y" || unit === "year") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 365) |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
|     return diffValue |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 获取两个时间差值-传入时间戳 |  | ||||||
|   diffByDateTime(startTime: number, endTime: number, unit?: Unit) { |  | ||||||
|     // 计算时间差 |  | ||||||
|     const diffValue = endTime - startTime |  | ||||||
|     if (unit) { |  | ||||||
|       if (unit === "ms" || unit === "millisecond") { |  | ||||||
|         return diffValue |  | ||||||
|       } |  | ||||||
|       if (unit === "s" || unit === "second") { |  | ||||||
|         return Math.floor(diffValue / 1000) |  | ||||||
|       } |  | ||||||
|       if (unit === "m" || unit === "minute") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60) |  | ||||||
|       } |  | ||||||
|       if (unit === "h" || unit === "hour") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60) |  | ||||||
|       } |  | ||||||
|       if (unit === "d" || unit === "day") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24) |  | ||||||
|       } |  | ||||||
|       if (unit === "w" || unit === "week") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 7) |  | ||||||
|       } |  | ||||||
|       if (unit === "M" || unit === "month") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 30) |  | ||||||
|       } |  | ||||||
|       if (unit === "Q" || unit === "quarter") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 30 / 3) |  | ||||||
|       } |  | ||||||
|       if (unit === "y" || unit === "year") { |  | ||||||
|         return Math.floor(diffValue / 1000 / 60 / 60 / 24 / 365) |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
|     return diffValue |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 增加时间 |  | ||||||
|   add(value: number, unit: Unit) { |  | ||||||
|     let newDate: number = 0 |  | ||||||
|     // 从秒开始 |  | ||||||
|     if (unit === "s" || unit === "second") { |  | ||||||
|       newDate = this.dateData.setSeconds(this.dateData.getSeconds() + value) |  | ||||||
|     } |  | ||||||
|     // 从分开始 |  | ||||||
|     if (unit === "m" || unit === "minute") { |  | ||||||
|       newDate = this.dateData.setMinutes(this.dateData.getMinutes() + value) |  | ||||||
|     } |  | ||||||
|     // 从小时开始 |  | ||||||
|     if (unit === "h" || unit === "hour") { |  | ||||||
|       newDate = this.dateData.setHours(this.dateData.getHours() + value) |  | ||||||
|     } |  | ||||||
|     // 从天开始 |  | ||||||
|     if (unit === "d" || unit === "day") { |  | ||||||
|       newDate = this.dateData.setDate(this.dateData.getDate() + value) |  | ||||||
|     } |  | ||||||
|     return new DayTs(newDate) |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 减少时间 |  | ||||||
|   subtract(value: number, unit: Unit) { |  | ||||||
|     console.log(value.toString(), unit) |  | ||||||
| 
 |  | ||||||
|     return 123456 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 时间开始 |  | ||||||
|   startOf(unit: StartEndUnit) { |  | ||||||
|     console.log(unit) |  | ||||||
|     return 123456 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 时间结束 |  | ||||||
|   endOf(unit: StartEndUnit) { |  | ||||||
|     console.log(unit) |  | ||||||
|     return 123456 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   // 是否同一天 |  | ||||||
|   compare(date: Date | number | string) { |  | ||||||
|     let tmp = dayTs(date) |  | ||||||
|     let isDay = this.year() === tmp.year() && this.month() === tmp.month() && this.date() === tmp.date() |  | ||||||
|     return isDay |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /** |  | ||||||
|    * 秒转标准时间格式 |  | ||||||
|    * @param time 时间长度 单位秒 |  | ||||||
|    * @param showHour |  | ||||||
|    * @returns |  | ||||||
|    */ |  | ||||||
|   len2time(time: string | number, showHour: boolean = false) { |  | ||||||
|     let duration = +Number(time) |  | ||||||
|     let hour = Math.floor(duration / (60 * 60)) |  | ||||||
|     let min = Math.floor((duration % (60 * 60)) / 60) |  | ||||||
|     let seconds = Math.floor(duration % 60) |  | ||||||
|     let timestamp = "" |  | ||||||
|     if (hour > 0 || showHour) { |  | ||||||
|       timestamp += hexTime(hour) + ":" |  | ||||||
|     } |  | ||||||
|     return timestamp + hexTime(min) + ":" + hexTime(seconds) |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const hexTime = (num: number) => { |  | ||||||
|   return num < 10 ? `0${num}` : num + '' |  | ||||||
| } |  | ||||||
| type BaseUnit = |  | ||||||
|   "day" | |  | ||||||
|   "d" | |  | ||||||
|   "month" | |  | ||||||
|   "M" | |  | ||||||
|   "quarter" | |  | ||||||
|   "Q" | |  | ||||||
|   "year" | |  | ||||||
|   "y" | |  | ||||||
|   "week" | |  | ||||||
|   "w" | |  | ||||||
|   "hour" | |  | ||||||
|   "h" | |  | ||||||
|   "minute" | |  | ||||||
|   "m" | |  | ||||||
|   "second" | |  | ||||||
|   "s"; |  | ||||||
| 
 |  | ||||||
| type Unit = BaseUnit | "millisecond" | "ms"; |  | ||||||
| 
 |  | ||||||
| type StartEndUnit = BaseUnit | "isoWeek" | "date" | "D"; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| // const proto = DayTs.prototype |  | ||||||
| const dayTs = (date?: number | string | Date, offset?: number) => { |  | ||||||
|   if (!date) { |  | ||||||
|     date = new Date() |  | ||||||
|   } |  | ||||||
|   return new DayTs(date, offset) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // dayTs.prototype = proto; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| export default dayTs |  | ||||||
| @ -1,5 +1,6 @@ | |||||||
| import fs from '@ohos.file.fs' | import fs from '@ohos.file.fs' | ||||||
| import hilog from '@ohos.hilog' | import hilog from '@ohos.hilog' | ||||||
|  | import { dateFormat } from './Utils' | ||||||
| 
 | 
 | ||||||
| interface LoggerOption { | interface LoggerOption { | ||||||
|   mode?: LoggerMode |   mode?: LoggerMode | ||||||
| @ -22,33 +23,7 @@ export enum LoggerMode { | |||||||
| const MB = 1024 * 1024 | const MB = 1024 * 1024 | ||||||
| const Tag = "Logger" | const Tag = "Logger" | ||||||
| 
 | 
 | ||||||
| function formatDate(date: Date, fmt = 'yyyy-MM-dd') { |  | ||||||
|   date = date instanceof Date ? date : new Date(date); |  | ||||||
| 
 | 
 | ||||||
|   const pad = (n: number) => (n < 10 ? `0${n}` : `${n}`); |  | ||||||
|   const pad3 = (n: number) => (n < 10 ? `00${n}` : n < 100 ? `0${n}` : `${n}`); |  | ||||||
| 
 |  | ||||||
|   return fmt |  | ||||||
|     .replace(new RegExp("yyyy"), date.getFullYear().toString()) |  | ||||||
|     .replace(new RegExp("yy"), `${date.getFullYear()}`.slice(-2)) |  | ||||||
|     .replace(new RegExp("MM"), pad(date.getMonth() + 1)) |  | ||||||
|     .replace(new RegExp("M"), (date.getMonth() + 1).toString()) |  | ||||||
|     .replace(new RegExp("dd"), pad(date.getDate())) |  | ||||||
|     .replace(new RegExp("d"), (date.getDate()).toString()) |  | ||||||
|     .replace(new RegExp("HH"), pad(date.getHours())) |  | ||||||
|     .replace(new RegExp("H"), (date.getHours()).toString()) |  | ||||||
|     .replace(new RegExp("hh"), pad(date.getHours() % 12 || 12)) |  | ||||||
|     .replace(new RegExp("h"), (date.getHours() % 12 || 12).toString()) |  | ||||||
|     .replace(new RegExp("mm"), pad(date.getMinutes())) |  | ||||||
|     .replace(new RegExp("m"), date.getMinutes().toString()) |  | ||||||
|     .replace(new RegExp("ss"), pad(date.getSeconds())) |  | ||||||
|     .replace(new RegExp("s"), date.getSeconds().toString()) |  | ||||||
|     .replace(new RegExp("SSS"), pad3(date.getMilliseconds())) |  | ||||||
|     .replace(new RegExp("S"), date.getMilliseconds().toString()) |  | ||||||
|     .replace(new RegExp("a"), date.getHours() < 12 ? '上午' : '下午') |  | ||||||
|     .replace(new RegExp("A"), date.getHours() < 12 ? 'AM' : 'PM') |  | ||||||
|     .replace(new RegExp("q"), Math.floor((date.getMonth() + 3) / 3).toString()); |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| function pathJoin(...path: string[]) { | function pathJoin(...path: string[]) { | ||||||
|   return path.join("/") |   return path.join("/") | ||||||
| @ -58,8 +33,8 @@ export default class Logger { | |||||||
|   private static mode: LoggerMode = LoggerMode.Development |   private static mode: LoggerMode = LoggerMode.Development | ||||||
|   private static level: LoggerLevel = LoggerLevel.Info |   private static level: LoggerLevel = LoggerLevel.Info | ||||||
|   private static size: number = MB * 10 |   private static size: number = MB * 10 | ||||||
|   private static date: string = formatDate(new Date(), "yyyy_MM_dd") |   private static date: string = dateFormat(new Date(), "yyyy_MM_dd") | ||||||
|   private static time: string = formatDate(new Date(), "HH_mm_ss.SSS") |   private static time: string = dateFormat(new Date(), "HH_mm_ss.SSS") | ||||||
|   private static fd: number = 0 |   private static fd: number = 0 | ||||||
|   private static dir: string = "" |   private static dir: string = "" | ||||||
| 
 | 
 | ||||||
| @ -79,8 +54,8 @@ export default class Logger { | |||||||
| 
 | 
 | ||||||
|   private static createNewFile() { |   private static createNewFile() { | ||||||
|     try { |     try { | ||||||
|       Logger.date = formatDate(new Date(), "yyyy_MM_dd") |       Logger.date = dateFormat(new Date(), "yyyy_MM_dd") | ||||||
|       Logger.time = formatDate(new Date(), "HH_mm_ss.SSS") |       Logger.time = dateFormat(new Date(), "HH_mm_ss.SSS") | ||||||
|       let path = pathJoin(Logger.dir, Logger.date, Logger.time) + ".log" |       let path = pathJoin(Logger.dir, Logger.date, Logger.time) + ".log" | ||||||
|       if (!fs.accessSync(path)) { |       if (!fs.accessSync(path)) { | ||||||
|         let file = fs.openSync(path, fs.OpenMode.CREATE | fs.OpenMode.APPEND | fs.OpenMode.WRITE_ONLY) |         let file = fs.openSync(path, fs.OpenMode.CREATE | fs.OpenMode.APPEND | fs.OpenMode.WRITE_ONLY) | ||||||
| @ -119,7 +94,7 @@ export default class Logger { | |||||||
|           Logger.createNewFile() |           Logger.createNewFile() | ||||||
|         } |         } | ||||||
|         fs.writeSync(Logger.fd, |         fs.writeSync(Logger.fd, | ||||||
|           `[${formatDate(new Date(), "yyyy-MM-dd HH:mm:ss.SSS")}]-[${map[type]}]: ${resultMessage}\n`) |           `[${dateFormat(new Date(), "yyyy-MM-dd HH:mm:ss.SSS")}]-[${map[type]}]: ${resultMessage}\n`) | ||||||
|       } catch (e) { |       } catch (e) { | ||||||
|         hilog.error(0x0000, Tag, JSON.stringify(e)) |         hilog.error(0x0000, Tag, JSON.stringify(e)) | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ export class TaskPool<T> { | |||||||
|   private max: number = 10 |   private max: number = 10 | ||||||
| 
 | 
 | ||||||
|   constructor(max?: number) { |   constructor(max?: number) { | ||||||
|     this.max = this.max |     this.max = max || 10 | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   private async handleTask(task: Task<T>) { |   private async handleTask(task: Task<T>) { | ||||||
|  | |||||||
							
								
								
									
										43
									
								
								entry/src/main/ets/utils/Utils.ets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								entry/src/main/ets/utils/Utils.ets
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | |||||||
|  | export function dateFormat(date: Date, fmt = 'yyyy-MM-dd') { | ||||||
|  |   date = date instanceof Date ? date : new Date(date); | ||||||
|  | 
 | ||||||
|  |   const pad = (n: number) => (n < 10 ? `0${n}` : `${n}`); | ||||||
|  |   const pad3 = (n: number) => (n < 10 ? `00${n}` : n < 100 ? `0${n}` : `${n}`); | ||||||
|  | 
 | ||||||
|  |   return fmt | ||||||
|  |     .replace(new RegExp("yyyy"), date.getFullYear().toString()) | ||||||
|  |     .replace(new RegExp("yy"), `${date.getFullYear()}`.slice(-2)) | ||||||
|  |     .replace(new RegExp("MM"), pad(date.getMonth() + 1)) | ||||||
|  |     .replace(new RegExp("M"), (date.getMonth() + 1).toString()) | ||||||
|  |     .replace(new RegExp("dd"), pad(date.getDate())) | ||||||
|  |     .replace(new RegExp("d"), (date.getDate()).toString()) | ||||||
|  |     .replace(new RegExp("HH"), pad(date.getHours())) | ||||||
|  |     .replace(new RegExp("H"), (date.getHours()).toString()) | ||||||
|  |     .replace(new RegExp("hh"), pad(date.getHours() % 12 || 12)) | ||||||
|  |     .replace(new RegExp("h"), (date.getHours() % 12 || 12).toString()) | ||||||
|  |     .replace(new RegExp("mm"), pad(date.getMinutes())) | ||||||
|  |     .replace(new RegExp("m"), date.getMinutes().toString()) | ||||||
|  |     .replace(new RegExp("ss"), pad(date.getSeconds())) | ||||||
|  |     .replace(new RegExp("s"), date.getSeconds().toString()) | ||||||
|  |     .replace(new RegExp("SSS"), pad3(date.getMilliseconds())) | ||||||
|  |     .replace(new RegExp("S"), date.getMilliseconds().toString()) | ||||||
|  |     .replace(new RegExp("a"), date.getHours() < 12 ? '上午' : '下午') | ||||||
|  |     .replace(new RegExp("A"), date.getHours() < 12 ? 'AM' : 'PM') | ||||||
|  |     .replace(new RegExp("q"), Math.floor((date.getMonth() + 3) / 3).toString()); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function len2time(time: string | number, showHour: boolean = false) { | ||||||
|  |   const hexTime = (num: number) => { | ||||||
|  |     return num < 10 ? `0${num}` : num + '' | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   let duration = +Number(time) | ||||||
|  |   let hour = Math.floor(duration / (60 * 60)) | ||||||
|  |   let min = Math.floor((duration % (60 * 60)) / 60) | ||||||
|  |   let seconds = Math.floor(duration % 60) | ||||||
|  |   let timestamp = "" | ||||||
|  |   if (hour > 0 || showHour) { | ||||||
|  |     timestamp += hexTime(hour) + ":" | ||||||
|  |   } | ||||||
|  |   return timestamp + hexTime(min) + ":" + hexTime(seconds) | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user