最新の環境構築が面倒なのでコード書いた。
成果物
問題
- 日時テキスト形式がたくさんある(RFC1123, RFC3339)
- Python3.5で文字列から日付型に変換しようとするとき
%z
が+09:00
でエラーになる(:
があるとダメ)
解決
フィードで用いる日付形式を変換できるようにする。
所感
全パターンに対応しているかはわからない。たぶん気づいたら順次対応。
あと、必ずしもRFC1123, RFC3339だけではない。%Y-%m-%d %H:%M:%S
も入れた。もう面倒なんだよ。見たら日付ってわかるやつは自動的に日付にしてくれよ。
あとISO-8601はよく使うと思うが、じつは自由度が高くてヤバイ。基本形がYYYYMMDDThhmmss+0900
、拡張形がYYYY-MM-DDThh:mm:ss+09:00
。基本形式と拡張形式との混在は許されない。まだまだあるが、書ききれないのでURL先に譲る。こんなの多すぎて対応しきれないわ。
日付フォーマットは統一したい
私としては以下のようにに絞りたい。SQLite3に保存したり、ファイル名にしたり。
書式 | 用途 | 形態 | 時刻 | Byte |
---|---|---|---|---|
YYYYMMDDhhmmss |
記録用 | 短縮形 | UTC | 14 |
YYYYMMDDThhmmssZ |
記録用 | 基本形 | UTC | 16 |
YYYY-MM-DDThh:mm:ssZ |
記録用 | 拡張形 | UTC | 20 |
で、表示するときはローカル時刻にしたりすればいい。+0900
とかいらん。
YYYY-MM-DD hh:mm:ss
(ローカル時刻)H時間前
(相対時間)
時間の範囲指定するときはUI上ではローカル時刻や相対時間で見せる。でも内部ではそれをUTCに変換して比較させる。これでOK。
和暦? 自動化を阻む害にしかならない。無駄を作って得するのは一部の特権階級だけ。多数の犠牲で少数の暴利を生むシステムは非合理的。存在が無駄。ヒャッハー無駄は排除だぜぇぇぇ!
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13 ※
- bash 4.4.12(1)-release ※
- Python 3.5.3
- SQLite 3.29.0 ※
- MeCab 0.996ユーザ辞書
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux