GitHubのUNIXTIMEを日時形式に変換
GitHub上にはCSVやTSVファイル内に10桁のUNIXTIMEが記載されていることがあるが、人間には1577804400のような数字の日時はひと目見ただけではわからない。
しかし、2020/01/01 00:00:00のような日時形式であればすぐにわかるため、ChromeのConsole上で実行することで日時形式に変換できるスクリプトを使用すると確認しやすくなり便利である。
UNIXTIMEを日時形式に変換するスクリプト
UNIXTIMEは10桁の数字と決まっているのでConsole上でJavaScriptの正規表現の/\d{10}/で検出してnew Date()を利用すれば簡単に変換できる。
if (/^\d{10}$/.test(timestamp)) { var now = new Date(timestamp * 1000) // 以下省略 }
日時形式に変換すればGitHubのフィルターで00:00:00などで絞り込みもできるようになるので便利。
テキスト形式のカンマ区切りの対応
GitHub上に反映されているCSVやTSVは通常はtableで表示されるが、カンマ区切りのデータベースがテキスト形式で反映されることもあるため、そのようなケースにも対応できるよう以下のようにJavaScriptを作成した。
/*! * Convert UNIXTIME to Date * (c) iwb.jp * Released under the MIT License. */ function addZero(n) { return ('0' + n).slice(-2) } $$('.Box-body td').forEach(el => { var timestamp = parseInt( el.textContent .split(',') .filter(el => /^\d{10}$/.test(el)) ) if (/^\d{10}$/.test(timestamp)) { var now = new Date(timestamp * 1000) var d1 = [ now.getFullYear(), addZero(now.getMonth() + 1), addZero(now.getDate()) ].join('/') var d2 = [ addZero(now.getHours()), addZero(now.getMinutes()), addZero(now.getSeconds()) ].join(':') el.textContent = el.textContent.replace(/\d{10}/, d1 + ' ' + d2) } })
これならカンマ区切りのデータベースがテキスト形式でも日時形式に変換することができる。