25
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Elmで日付を扱うならとりあえずこれ、なパッケージたち。

Last updated at Posted at 2019-03-28

TL;DR

  • justinmimbs さん is つよい。
  • 安心と安定のNoRedInk社。

時間データを扱う系のパッケージたち

elm/time

  • 標準パッケージ(草)
  • Zone(タイムゾーン?)とPosixから日付とかを取得できたり、1970年1月1日0:00からのミリ秒に変換できたりする。
  • あと月のカスタム型(列挙型)も提供する。 血迷って自分で定義してはならない。(した。)
  • これだけだと明らかに足りないが、自分で実装し始める前にとりあえずelm-packagesを漁ろう。

justinmimbs/time-extra

  • elm/timeを単純に拡張する。(直訳)
  • 日付を構造化したPartsという概念を導入して日付の計算をよしなにする。
  • コード内で特定の日付からPosixを生成するには必須。
  • なぜ標準に含まれていないのか。

waratuman/time-extra

  • Posixのまま日時の操作ができる。
  • モジュールの名前が被っているのがつらみ。
  • おとなしく上のjustinmimbs/time-extra使おうぜ。

justinmimbs/date

  • 時間情報を無視して年月日をよしなにするにはグッド👍
  • なぜかelm-packagesで「date」と検索しても上の方に出てこないので、知らないと泣く。(泣いた)
  • DataPicker系のパッケージ(後述)は基本これに依存しているので、DataPickerを自分で書きたくないなら最早使わざるを得ない。

DatePickerなUIパッケージたち

CurrySoftware/elm-datepicker

デモ : https://ellie-app.com/3t4W6N4Trm3a1

  • 今は亡き elm-community/elm-datepicker のElm0.19移植なので実質標準。
  • ただHtml.mapが必要だったり、つらみな部分もある。

abradley2/elm-datepicker

デモ : https://abradley2.github.io/elm-datepicker/

  • デモがしゃれおつ。
  • 自由度は CurrySoftware/elm-datepicker より低い。
  • デザインもデモのまんま使いたいならいいかも。

NoRedInk/datetimepicker-legacy

デモ : https://abadi199.github.io/datetimepicker

  • 強い(確信)
  • legacyとか付いてるけど、名前で騙されてはいけない。
  • 安心と安定のNoRedInk社。
  • 必要とあらば Time Picker まで付けられるので言うことがない。
  • elm-sortable-tableとかもあるし、とりあえずNoRedInk社の提供するパッケージは把握しておきたい感ある。

PanagiotisGeorgiadis/elm-datepicker

  • 強そうな雰囲気は醸し出してるけど、デモのリンクが全部これで草生えた。
  • デモが草なので試してすら無い。だれか感想を教えてほしい。

おわりに

時間を管理するのは何でもつらみが深い気がしますねー。
初心者Elmersの車輪の再発明を防げたなら幸いです。

あ、つよElmerの方々は他の有用なパッケージをぜひ教えてください!(懇願)

25
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?