背景

moment.jsやdate-fnsを使っていたが、単純な日付のフォーマット変換に関して、巨大なライブラリを必要としないので自前で実装をする。

結果として、少なくとも10KBほどあったサイズが数バイトで済んだ。

実装

仕様

  • yyyy/mm/dd形式の文字列で変換する関数
  • 引数は日付相当の文字列
  • 変換できない場合は空文字を返却

コード

const formatDate = strDate => {
  let date = "";

  // convert: string -> date
  try {
    if (typeof strDate === "string") {
      date = new Date(strDate).toISOString();
    }
  } catch (e) {
    console.log(e);
  }

  // format: yyy/mm/dd
  if (date) {
    date = date.split("T")[0].replace(/-/g, "/");
  }

  return date;
};