技術的なメモも残していこうという試み。
ISO8601ってなんですか
ISO 8601形式の時刻表記例 基本形式 20170514T165215+0900 拡張形式 2017-05-14T16:52:15+09:00
何がやりたいんですか
ログや生成ファイルの末尾にタイムスタンプをつけたいしその形式はISOに準拠していた方がなんとなく嬉しい。 でもタイムゾーン指定子にプラス記号が使われてるのでファイル名にそのまま使えないので一加工。
こうした
( Get-Date -F O ) -creplace '^([0-9]+)-([0-9]+)-([0-9]+T[0-9]+):([0-9]+):([0-9]+).[0-9]+[+]([0-9]+):([0-9]+)','$1$2$3$4$5P$6$7'
こうなる
PS [Desktop]> ( Get-Date -F O ) -creplace '^([0-9]+)-([0-9]+)-([0-9]+T[0-9]+):([0-9]+):([0-9]+).[0-9]+[+]([0-9]+):([0-9]+)','$1$2$3$4$5P$6$7' 20170514T172107P0900
割り切り
日本人が日本のタイムゾーンで作業する、それも書捨てのスクリプトにさらっと組み込むぐらいという前提です。 -Encoding default
でShift-JIS
になるというぐらいの割り切り。故にオレオレ。 この辺どんな環境でも対応可能な変換ライブラリとかあるのかしらん。ありそう。 対外公開してユニバ~~~~~サルな対応が求められる業務とかだともっとしっかり書こうという話になる。