你也许不是真的需要dayjs

68 阅读1分钟

我们日常在开发一个项目过程中,经常需要用到日期格式化,然后我们第一反应可能就是无脑引入dayjs完事。

“我又不傻,有开源方案不用。”

然而,如果你只是用其中一个方法,比如format。你把整个dayjs库import进项目,毕竟整个包的大小未压缩有好几百K,对性能有些浪费吧。

这个时候,你又不想自己写一个格式化的format,又想有dayjs().format的功能,何必不试试 ChatGPT 呢。

function dayjs(date) {
  const d = date ? new Date(date) : new Date();
  const year = d.getFullYear();
  const month = d.getMonth() + 1;
  const day = d.getDate();
  const hour = d.getHours();
  const minute = d.getMinutes();
  const second = d.getSeconds();

  return {
    format(formatStr) {
      return formatStr
        .replace(/YYYY/g, year)
        .replace(/MM/g, month.toString().padStart(2, '0'))
        .replace(/DD/g, day.toString().padStart(2, '0'))
        .replace(/HH/g, hour.toString().padStart(2, '0'))
        .replace(/mm/g, minute.toString().padStart(2, '0'))
        .replace(/ss/g, second.toString().padStart(2, '0'));
    }
  };
}