HarmonyOS 请提供一个时间转换工具demo,字符串转日期,日期转字符串

HarmonyOS 请提供一个时间转换工具demo,字符串转日期,日期转字符串

HarmonyOS
2024-08-29 15:21:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可参考:

class Opt { 
 yy: string = ''; 
 mm: string = ''; 
 dd: string = ''; 
 HH: string = ''; 
 MM: string = ''; 
 SS: string = ''; 
} 
@Entry 
@Component 
struct TimePage { 
 @State message: number = 1622422400000; 
 formatDate(timestamp: number, format = 'yyyy-mm-dd') { 
  let res = ""; 
  try { 
   const date = new Date(timestamp); 
   const opt: Opt = { 
    yy: date.getFullYear().toString(), 
    mm: (date.getMonth() + 1).toString(), 
    dd: date.getDate().toString(), 
    HH: date.getHours().toString(), 
    MM: date.getMinutes().toString(), 
    SS: date.getSeconds().toString(), 
   }; 
   const regKeys: string[] = ['y+', 'm+', 'd+', 'H+', 'M+', 'S+']; 
   for (let i = 0; i < regKeys.length; i++) { 
    const regKey = regKeys[i]; 
    const reg = new RegExp(regKey); 
    let ret = reg.exec(format); 
    if (ret) { 
     switch (regKey) { 
      case 'y+': 
       format = format.replace(reg, ret.length === 1 ? opt.yy : opt.yy.padStart(ret.length, "0")); 
      case 'm+': 
       format = format.replace(reg, ret.length === 1 ? opt.mm : opt.mm.padStart(ret.length, "0")); 
      case 'd+': 
       format = format.replace(reg, ret.length === 1 ? opt.dd : opt.dd.padStart(ret.length, "0")); 
      case 'H+': 
       format = format.replace(reg, ret.length === 1 ? opt.HH : opt.HH.padStart(ret.length, "0")); 
      case 'M+': 
       format = format.replace(reg, ret.length === 1 ? opt.MM : opt.MM.padStart(ret.length, "0")); 
      case 'S+': 
       format = format.replace(reg, ret.length === 1 ? opt.SS : opt.SS.padStart(ret.length, "0")); 
     } 
    } 
   } 
   res = format; 
  } catch (error) { 
   console.error("ERROR formatDate" + error); 
  } 
  return res; 
 } 
 build() { 
  Row() { 
   Column() { 
    Text(this.formatDate(new Date(this.message).valueOf(),'yyyy/mm/dd HH:MM:SS')).fontSize(30) 
   } 
   .width('100%') 
  } 
  .height('100%') 
 } 
}

除了手写的demo之外,你也可以使用三方库dayjs,参考链接:

https://ohpm.openharmony.cn/#/cn/detail/dayjs

分享
微博
QQ
微信
回复
2024-08-29 16:57:15
相关问题
HarmonyOS 日期时间字符串转换
2620浏览 • 1回复 待解决
HarmonyOS 字符串图片
1155浏览 • 1回复 待解决
HarmonyOS ASCII字符串
1087浏览 • 1回复 待解决
ArrayBuffer怎样字符串
1457浏览 • 1回复 待解决
如何实现MapJSON字符串
2309浏览 • 1回复 待解决
HarmonyOS 十六进制字符明文字符串
953浏览 • 1回复 待解决
HarmonyOS uint8Array字符串
1389浏览 • 1回复 待解决
如何将JSON字符串Class对象
1469浏览 • 1回复 待解决
HarmonyOS 加密字符串格式转换
1105浏览 • 1回复 待解决
如何将JSON字符串Class对象数组?
1541浏览 • 1回复 待解决
如何将Uint8Array字符串
1748浏览 • 1回复 待解决
HarmonyOS Uint8Array格式字符串的方法
1884浏览 • 1回复 待解决
怎么动态组装一个json字符串
1163浏览 • 1回复 待解决
HarmonyOS 多语言字符串转换
1270浏览 • 1回复 待解决
字符串反射
995浏览 • 1回复 待解决
HarmonyOS 替换字符串
1409浏览 • 1回复 待解决
检查字符串是否以给定的字符串结尾
1540浏览 • 1回复 待解决