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
相关问题
ArrayBuffer怎样字符串
479浏览 • 1回复 待解决
如何实现MapJSON字符串
1095浏览 • 1回复 待解决
HarmonyOS 十六进制字符明文字符串
130浏览 • 1回复 待解决
如何将JSON字符串Class对象
430浏览 • 1回复 待解决
如何将Uint8Array字符串
517浏览 • 1回复 待解决
如何将JSON字符串Class对象数组?
454浏览 • 1回复 待解决
HarmonyOS Uint8Array格式字符串的方法
797浏览 • 1回复 待解决
怎么动态组装一个json字符串
253浏览 • 1回复 待解决
eTS中如何进行时间字符串转换
4171浏览 • 1回复 待解决
转换整个字符串字符为小写
313浏览 • 1回复 待解决
检查字符串是否以给定的字符串开头
503浏览 • 1回复 待解决
如何将PixelMap图片base64字符串
479浏览 • 1回复 待解决
检查字符串是否以给定的字符串结尾
403浏览 • 1回复 待解决
转换整个字符串字符为大写
424浏览 • 1回复 待解决
HarmonyOS字符串替换问题
767浏览 • 1回复 待解决
HarmonyOS 字符串显示异常
432浏览 • 1回复 待解决
如何将图片base64字符串PixelMap?
556浏览 • 1回复 待解决