時間の形式
最初に書こうと思っていたネタにようやくたどり着いた。
ファイル名を変更する時に微妙に困ったのが時間の扱い。
Hexo
では、 date
の形式が MySQL
と同じような形式になっている。
この表示の仕方は割と一般的だとは思うのだけど、この形式について何も感じたことはないのだろうか?
表示形式について
時間の表示方法はいろいろな表し方があるようでいつも戸惑う。
私の場合は yyyy-mm-dd HH:MM:SS
のように、日付部分は小文字、時間部分は大文字で書く。
しかし、 YYYY-mm-dd
のように、4桁の西暦を大文字で書く人もいる。(2桁の年を yy
と表現する)
あるいは、 strftime
のように、 %Y-%m-%d %H:%M:%S
とか、場合によっては %F %T
とか。
時差について
いずれにしても、このような表現の場合、時差というかタイムゾーンについての情報が完全に欠落する。
Hexo
はローカル環境でビルドするので、ローカル環境のタイムゾーンに依存する。
なので、この date
をローカルのタイムゾーンを元にして UTC
になおしてファイル名にすると、日本にいる時に実行して変更したファイルは、アメリカに行って実行すると全部書き換わってしまう。と思う。試してないけど。(ローカル環境のタイムゾーンを変えない、という選択肢もあるけど)
今時、 momentjs
もあるし、文字列にする場合は、少なくとも ISO8601
に沿ってくれればよいのに。と思いながら、日本時間ということにしてファイル名を変更するスクリプトを書いた。
ようやくこのネタを書けたので、ちょっとアメリカ行ってきます。