似た名前のAPIに注意する
データベースのvisits.visit_timeと、拡張機能APIのlastVisitTimeは同じ単位ではありません。後者はUnixミリ秒です。短い整数も形式上は有効なので、Chromeタイムスタンプという名前や桁数だけでは判断できません。
日時
Chromeの整数値、またはZか時差を付けた日時を1行に1件入力します。結果はUTCで表示します。
入力はこのブラウザー内で処理され、サーバーには送信されません。
Chromeデータベースの起点:1601-01-01 UTC。1単位は1マイクロ秒です。
1行に符号付き十進整数、またはYYYY-MM-DDTHH:mm:ss[.小数1〜6桁]Z/±HH:mmを入力。UTC換算後の年は0001〜9999です。
ゼロは計算上の起点日時を持ちますが、Chromiumでは未設定の可能性があります。符号付き64ビット整数の両端は無限大の特殊値として扱います。
UTCは小数6桁で表示。Unixの秒とミリ秒は負の無限大へ切り下げ、非負のマイクロ秒余りを残します。
最大1,000物理行、100,000 UTF-16コード単位。両端の空白を除去し、空行はエラーにします。
全行に日時がある場合のみ逆変換できます。エラー行や無限大の特殊値を先に確認してください。
入力するかサンプルを読み込んでください。
WebKitタイムスタンプ変換は、Chromeの閲覧履歴から取り出した長い整数を確かめるためのツールです。表計算ソフトを経由して末尾が丸められていると元には戻せないため、まずデータベースの原文を用意してください。
ここで扱うWebKit形式は、1601年を起点にしたChrome/Chromiumのマイクロ秒です。同じブラウザーでもAPIによって起点と単位が異なります。桁数だけを見て形式を決めず、値を取り出した場所を確認しましょう。
WebKitタイムスタンプ変換では11644473600000001が1970-01-01T00:00:00.000001Zになります。結果を逆方向に戻しても最後の1が残ります。ミリ秒表示では見えない差を、6桁の小数で確認できます。
途中に不正な文字列があっても、前後の行は処理します。元の文字列と物理行番号を一緒に残すため、エラーだけ消えて結果の並びがずれることはありません。抽出元と照合しやすい報告になります。
データベースのvisits.visit_timeと、拡張機能APIのlastVisitTimeは同じ単位ではありません。後者はUnixミリ秒です。短い整数も形式上は有効なので、Chromeタイムスタンプという名前や桁数だけでは判断できません。
逆変換にはZまたは±HH:mmが必要です。パソコンのタイムゾーンを暗黙に使いません。サンプルは選んだ方向に合わせて切り替わり、内容を確認してから適用できます。小数7桁以上は切り捨てずにエラーになります。
自動変換は編集から350ミリ秒待って実行します。オフにするとボタンかCtrl/Cmd+Enterで実行できます。編集直後は書き出しを無効にし、逆変換の適用後は入力と結果を一度に元へ戻せます。
現在の値はJavaScriptの安全な整数範囲を超えています。計算に整数演算を使い、JSONの精密なカウンターは文字列で保存します。浮動小数点へ変換してから引き算すると失われる末尾の桁を守ります。
Unixマイクロ秒は入力から11644473600000000を引いた値です。秒・ミリ秒の整数商と、それぞれのマイクロ秒余りも並べます。整数の秒だけで微小な差を表したつもりにならず、余りまで確認できます。
対応範囲内で1601年より前ならWebKit値は負数になります。1970年の1マイクロ秒前はUnix秒が-1、余りが999999です。ゼロ方向への切り捨てと区別した計算規則を採用しています。
上限は物理1000行、100000 UTF-16単位です。最初に50行表示し、50行ずつ追加できます。コピーとダウンロードには表示済みの部分だけでなく、全行の入力、解釈、エラーを含めます。
代表例はHistory内のvisits.visit_time、urls.last_visit_timeや、Cookies内のcreation_utc、expires_utcです。抽出したデータベースの仕様を確認してください。このページ自体がファイルを開いたり閲覧履歴を読み出したりすることはありません。
Chromiumのbase::TimeはWindowsと同じ1601-01-01 UTCを起点にしています。Unixの起点との差は11644473600000000マイクロ秒です。単に百万で割るだけでは、この起点の違いが残ってしまいます。
Chromiumでは未初期化の時刻をゼロで表すことがあります。計算上は1601年になりますが、その日時にイベントが起きたとは断定できません。possibleNullの表示を見て元の列やレコードの状態を調べてください。
元のマイクロ秒カウンターであることを確認し、WebKit → 日時に貼り付けます。UTC結果をCookieの列名と合わせて読みます。ゼロ値の意味やセッションCookieかどうかは、その整数だけで判断できません。
起点は同じでも、こちらはマイクロ秒、FILETIMEは100ナノ秒です。同じ通常の時刻ならFILETIMEのカウンターは10倍になります。出所の単位に合うツールを選び、名前が似ているだけで入力を流用しないでください。
予想と違う結果ですか?