日付整形、フロントでやるか APIでやるか

スポンサーリンク

どうも、イソップ(@Yuhiisk)です。

サーバーのAPIからデータを取得する時に、データ内に日付がある場合があります。

{
  "id":8,
  "title":"hoge",
  "created_at":"2017-09-29T00:32:55.077022Z",
  "updated_at":"2017-09-29T09:42:44.336096Z"
}

created_at (作成日)や updated_at (更新日)ですね。

よく悩んでしまいがちなのが、日付の整形処理をフロントかサーバーかどちらで行うかという問題。

Twitterで教えてもらいました。

柔軟性を重視してフロント側で処理しよう

というコメントをいただきました。ありがとうございます!

はい、日付の表示の種類は変わることがあります。
例えば、2017/9/30 とか 9/30 とか 2017/9/30 5:54 とか。

APIによって、レスポンス値を整形して返すのは条件や処理が増えるので、複雑化するということなんですね。
なのでフロント(JavaScript)で処理しましょうね、というお話でした。

すんごいスッキリ。

日付整形のJSライブラリ

個人的には次のどちらかを使っています。

date-fnsが使いやすいですね。(moment.jsは最近使ってない)
ES6でもimportして使えるので、めちゃくちゃ重宝してます。

npm install date-fns --save

#or

yarn add date-fns

var isToday = require('date-fns/is_today')
isToday(new Date())
//=> true

ドキュメントはこちらからどうぞ。

Getting Started – date-fns


イソップへのお悩み相談募集中

イソップに相談しませんか?

当ブログで紹介しているような、Web制作やフリーランスへの悩みをイソップに相談してみませんか?
回答できることがあれば記事の中でご紹介します。