中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
本文原创发布在华为开发者社区。
本示例展示了一个日期格式转化的Demo,其功能为将一个时间戳转换为当前的时间。
时间戳格式转换源码链接
输入要格式化的时间,组件会实时更新格式化后的时间。
构造formatDate方法。
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) { hilog.error(0x0000, 'Index', "ERROR formatDate" + error); } return res; }
微信扫码分享