[JavaScript] 日付のフォーマットをyyyy/mm/ddにする方法

1 min read

背景

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

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

実装

仕様

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

コード

const formatDate = (strDate) => {
  // convert: string -> date
  const date = new Date(strDate);

  if (date.toString() === "Invalid Date") {
    return "";
  }

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