[VSCode] Time Converter で Unixtime(Epoch Time) を生成・変換するとめっちゃ便利
データのタイムスタンプとして、DynamoDBのデータなどでUnixtime (Epoch Time)
をよく使います。
- データの作成日
- データの更新日
- データの有効期限
- など
これらのUnixtime
を確認するとき、変換Webサイトで次の作業を行っていました。
- DynamoDBのタイムスタンプを「人間が分かる形式」に変換する
- 例)1581068547 -> 2020-02-07T18:42:27.000+09:00
- 任意の時刻(現在時刻も含む)からUnixtimeを作る
- 例)2020-02-07T18:42:27.000+09:00 -> 1581068547
これらの作業が、VSCodeで完結します!
Time Converter
という拡張機能です。
できること
たくさんの変換ができますが、個人的によく使う機能は下記です。
- 現在時刻の Unixtime を取得する
- Unixtime を ISO 8601に変換する(UTC & Local)
- ISO 8601 を Unixtime に変換する
カスタムフォーマットを自分で定義し、それに合わせた変換も可能です。
現在時刻の Unixtime を取得する
コマンドパレットでtiming now epoch
を入力するだけです。
Unixtime を ISO 8601に変換する(UTC & Local)
コマンドパレットでTiming epoch iso
を入力します。
ISO 8601 を Unixtime に変換する
コマンドパレットでtiming iso rfc epoch
を入力します。
気に入ったポイント
Unixtimeが「秒・ミリ秒・ナノ秒」に対応している
DynamoDBでUnixtimeを扱うとき、ミリ秒を採用することが多いのですが、全ての変換Webサイトが「ミリ秒のUnixtime変換」を扱っているわけではありません。
しかし、Time Converterは「秒・ミリ秒・ナノ秒」に対応しており、変換Webサイトを使い分けなくてOKです。
Unixtimeの変換時、クリップボードを参照する
設定にもよりますが、クリップボードにUnixtimeがある場合はその値を参照します。 そのため、入力フォームに貼り付ける手順が不要になります。
同様に変換結果をフォームに表示するのではなく、クリップボードに書き込む設定もあります。
特定のコマンドをコマンドパレットから非表示にできる
通常はたくさんのコマンドがあります。(表示枠が少ないだけで他にもあります)
設定することにより、使わないコマンドを非表示にできます。
この設定項目は下記です。
{ "timing.hiddenCommands": [ "timing.customToCustom", "timing.customToEpoch", "timing.customToIsoLocal", "timing.customToIsoUtc", "timing.epochToCustom", "timing.epochToIsoDuration", "timing.epochToReadableDuration", "timing.epochToReadableDuration", "timing.nowAsCustom", "timing.isoDurationToEpoch", "timing.isoRfcToCustom" "timing.toggleInsertConvertedTimeUserLevel", ] }
さいごに
タイムスタンプを含むテストデータ(DynamoDB用)を作るときや、更新されたデータの時刻確認をするときにとても便利です!
特にJSONを作るときはVSCodeで作ることが多いので、エディタで完結するところが良いですね。