| 
									
										
										
										
											2025-04-10 10:28:07 +08:00
										 |  |  | import dayTs from './Date'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum timeType { | 
					
						
							|  |  |  |   fulltime = 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * 获取当前时间 | 
					
						
							|  |  |  |  * @param type | 
					
						
							|  |  |  |  * @returns | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export function GetCurrentTime(type?: timeType): string { | 
					
						
							|  |  |  |   if (type === 1) { | 
					
						
							|  |  |  |     return dayTs().format("YYYYMMDDHHmmss") | 
					
						
							|  |  |  |   } else { | 
					
						
							|  |  |  |     return dayTs().format("YYYY-MM-DD HH:mm:ss") | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * 是否是指定天数之前 | 
					
						
							|  |  |  |  * @param date | 
					
						
							|  |  |  |  * @param days | 
					
						
							|  |  |  |  * @returns | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export function IsDaysAgo(date: string | number | Date, days: number = 2): boolean { | 
					
						
							|  |  |  |   const today = dayTs(); // 当前日期 | 
					
						
							|  |  |  |   const target = dayTs(date).format("YYYY-MM-DD HH:mm:ss.SSS"); // 需要判断的日期 | 
					
						
							|  |  |  |   // 计算两个日期之间的差异天数 | 
					
						
							|  |  |  |   const diffDays = today.diff(target, 'day'); | 
					
						
							|  |  |  |   // 如果差异天数大于等于指定天数,则返回 true | 
					
						
							|  |  |  |   return diffDays >= days; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * 字符串转字节数组 | 
					
						
							|  |  |  |  * @param str | 
					
						
							|  |  |  |  * @returns | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export function StringToBytes(str: string): Uint8Array { | 
					
						
							|  |  |  |   const bytes = new Uint8Array(str.length); | 
					
						
							|  |  |  |   for (let i = 0; i < str.length; i++) { | 
					
						
							|  |  |  |     bytes[i] = str.charCodeAt(i); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   return bytes; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * 字符串转ASCII码 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export function StringToASCII(str: string): number[] { | 
					
						
							|  |  |  |   const arr: number[] = []; | 
					
						
							|  |  |  |   for (let i = 0; i < str.length; i++) { | 
					
						
							|  |  |  |     arr.push(str.charCodeAt(i)); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   return arr; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * 数组转字节 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export function ArrayToByteArray(array: number[]): Uint8Array { | 
					
						
							|  |  |  |   const buf = new ArrayBuffer(array.length); | 
					
						
							|  |  |  |   const view = new Uint8Array(buf); | 
					
						
							|  |  |  |   for (let i = 0; i < array.length; i++) { | 
					
						
							|  |  |  |     view[i] = array[i] & 0xFF; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   return view; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2025-06-18 14:42:01 +08:00
										 |  |  |  * 数字转字节数组 | 
					
						
							| 
									
										
										
										
											2025-04-10 10:28:07 +08:00
										 |  |  |  * @param number 要转换的数字 | 
					
						
							|  |  |  |  * @param len 字节数 | 
					
						
							|  |  |  |  * @returns 返回字节数组 | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2025-06-17 09:06:18 +08:00
										 |  |  | export function NumberToByteArray(number: number | string, len: number): number[] { | 
					
						
							|  |  |  |   let str = Math.floor(Number(number)).toString(2); | 
					
						
							| 
									
										
										
										
											2025-04-10 10:28:07 +08:00
										 |  |  |   if (str.length > len) { | 
					
						
							|  |  |  |     console.log('数据长度不对~~'); | 
					
						
							|  |  |  |     return []; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   const byteString = FillZero(str, len); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   const arrBytes: number[] = []; | 
					
						
							|  |  |  |   for (let i = byteString.length; i > 0; ) { | 
					
						
							|  |  |  |     let j = i - 8; | 
					
						
							|  |  |  |     if (j < 0) { | 
					
						
							|  |  |  |       j = 0; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     const s = byteString.slice(j, i); | 
					
						
							|  |  |  |     const v = parseInt(s, 2); | 
					
						
							|  |  |  |     arrBytes.push(v); | 
					
						
							|  |  |  |     i -= 8; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   return arrBytes; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export function FillZero(str: string | number, len: number): string { | 
					
						
							|  |  |  |   str = str.toString(); | 
					
						
							|  |  |  |   if (str.length >= len || len <= 0) { | 
					
						
							|  |  |  |     return str; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   const zeroStr = '0'.repeat(len - str.length); | 
					
						
							|  |  |  |   return zeroStr + str; | 
					
						
							|  |  |  | } |