鸿蒙开发(22)推荐项目目录设置及日期格式化

发布于:2025-02-11 ⋅ 阅读:(26) ⋅ 点赞:(0)

一、推荐项目目录

在这里插入图片描述

二、日期格式化

  1. utils创建 DateFormat.ets
    代码如下:
export class Opt {
  yy:string = ''
  mm:string = ''
  dd:string = ''
  HH:string = ''
  MM:string = ''
  SS:string = ''

}

export function 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))
          case 'm+':
            format = format.replace(reg,ret.length!==1?opt.mm:opt.mm.padStart(2,"0")) //padStart长度不够2时填充0
          case 'd+':
            format = format.replace(reg,ret.length!==1?opt.dd:opt.dd.padStart(2,"0"))
          case 'H+':
            format = format.replace(reg,ret.length!==1?opt.HH:opt.HH.padStart(2,"0"))
          case 'M+':
            format = format.replace(reg,ret.length!==1?opt.MM:opt.MM.padStart(2,"0"))
          case 'S+':
            format = format.replace(reg,ret.length!==1?opt.SS:opt.SS.padStart(2,"0"))
        }
      }

    }
    res = format
  }
  catch (err) {
    console.log("ERROR formatDate")
  }
  return res
}

  1. 使用
import { formatDate} from "../utils/DateFormat"
//第一个参数是时间戳,第二个是格式
const currentDate = formatDate(new Date().getTime(),"yyyy-mm-dd")

网站公告

今日签到

点亮在社区的每一天
去签到