bouzuya/purescript-bouzuya-datetime 0.4.0 をつくった。
purescript-bouzuya-datetime は PureScript の Bouzuya.DateTime
モジュールを提供するパッケージ。
0.4.0 では OffsetDateTime
を追加した。これはタイムゾーン付きの日時型だ。 JSDate
に近い。 2019-02-19 や 2019-02-21 で触れていたもの。
経緯としては purescript/purescript-datetime が提供する DateTime
はタイムゾーンが付いていない (……というか過去にはあったのだけど削除されたようだ) 。 Duration
を adjust
で適用すればいいだけではある。実際にはかなり混乱するのできちんと型を用意することにした。
inOffset
や inUTC
で TimeZoneOffset
を変更してその時間の DateTime
を得られる。ちなみに TimeZoneOffset
も Bouzuya.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 OffsetDateTime
や toString :: 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 問題さえ自力で解けない。ダメだ。
体調が悪い。子どもを病院に連れて行って薬をもらう。むしろぼくがもらいに行きたい。
いつになったら保育所へ行けるのだろう。