最新の環境構築が面倒なのでコード書いた。
成果物
問題
- 日時テキスト形式がたくさんある(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