[VSCode] Time Converter で Unixtime(Epoch Time) を生成・変換するとめっちゃ便利

VSCodeのTime Converter拡張機能を使えば、Unixtimeの生成や変換がとても楽に行えます。 タイムスタンプを含むテストデータ(DynamoDB用)を作るときや、更新されたデータの時刻確認をするときにとても便利です。
2020.02.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

データのタイムスタンプとして、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を取得する様子

Unixtime を ISO 8601に変換する(UTC & Local)

コマンドパレットでTiming epoch isoを入力します。

Unixtime を ISO 8601に変換する様子(UTC & Local)

ISO 8601 を Unixtime に変換する

コマンドパレットでtiming iso rfc epochを入力します。

ISO 8601 を Unixtime に変換する様子

気に入ったポイント

Unixtimeが「秒・ミリ秒・ナノ秒」に対応している

DynamoDBでUnixtimeを扱うとき、ミリ秒を採用することが多いのですが、全ての変換Webサイトが「ミリ秒のUnixtime変換」を扱っているわけではありません。

しかし、Time Converterは「秒・ミリ秒・ナノ秒」に対応しており、変換Webサイトを使い分けなくてOKです。

Unixtimeが「秒・ミリ秒・ナノ秒」に対応している様子

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で作ることが多いので、エディタで完結するところが良いですね。