bouzuya.hatenablog.com

ぼうずやのにっき

bouzuya/purescript-bouzuya-datetime 0.4.0 / bouzuya/purescript-bouzuya-datetime-formatter 0.1.0

bouzuya/purescript-bouzuya-datetime 0.4.0 をつくった。

purescript-bouzuya-datetime は PureScript の Bouzuya.DateTime モジュールを提供するパッケージ。

0.4.0 では OffsetDateTime を追加した。これはタイムゾーン付きの日時型だ。 JSDate に近い。 2019-02-192019-02-21 で触れていたもの。

経緯としては purescript/purescript-datetime が提供する DateTimeタイムゾーンが付いていない (……というか過去にはあったのだけど削除されたようだ) 。 Durationadjust で適用すればいいだけではある。実際にはかなり混乱するのできちんと型を用意することにした。

inOffsetinUTCTimeZoneOffset を変更してその時間の DateTime を得られる。ちなみに TimeZoneOffsetBouzuya.DateTime.TimeZoneOffset として提供しているものだ (datetime にはない) 。


bouzuya/purescript-bouzuya-datetime-formatter 0.1.0 をつくった。

purescript-bouzuya-datetime-formatter は PureScript の Bouzuya.DateTime.Formatter モジュールを提供するパッケージ。

上記の bouzuya-datetime には formatter / parser がない。せめて fromString :: String -> Maybe OffsetDateTimetoString :: OffsetDateTime -> String くらいは欲しい。それがこのパッケージ。

DateTime についても fromString / toString を提供している。 slamdata/purescript-formatters で決まりきったフォーマッタの作成を繰り返しすぎているのでパッケージに追加しておいた。

形式は ISO 8601 の extended format にしている。 ms を含まない点で Date.prototype.toISOString と互換性がなくて嫌がられそうだ。細かい形式を指定するというより決まった形をお手軽に……という気持ちで居る。


AtCoder は ABC119 C / ABC 118 C / ABC116 A 。 C 問題さえ自力で解けない。ダメだ。


体調が悪い。子どもを病院に連れて行って薬をもらう。むしろぼくがもらいに行きたい。

いつになったら保育所へ行けるのだろう。