· 

【Numbers】UNIXタイムスタンプを通常の日付に変換する方法

13桁のUNIXタイムスタンプ(UNIXエポックミリ秒)をNumbersを使って通常の日時に変換する方法です。

Excelを使ったやり方はネットで散見されるのですが、Numbersでの情報が全くないため情報共有します。

一個ならばネット上の変換サービスで調べた方が早いのですが、多数の場合一括変換が必要となります。

目次

  • UNIXタイムスタンプ(UNIXエポックミリ秒)とは
  • 男は黙ってNumbers
  • 監視カメラ(Arlo製)の録画ファイル名がUNIXタイムスタンプだった
  • 変換するためのNumbers書類を作ってみた
  • 重要ポイント
  • 一括変換方法
  • ファイル名の一括変換も可能(な筈)
  • まとめ

UNIXタイムスタンプ(UNIXエポックミリ秒)とは

現在もサーバーやワークステーションのOSとして広く普及し絶大な信頼を得ているUNIX。

その内部の日付管理は1970年1月1日0時0分0秒というエポックタイムからの経過秒数で行われている。

すなわち前述のエポックタイムが000000000、ミリ秒管理の場合は0000000000000となる。

例えば2000年1月1日0時0分0秒(日本時間)は946652400、ミリ秒管理の場合は946652400000となる。

男は黙ってNumbers

Numbers
Numbers

Macintoshユーザーなら表計算ソフトはApple純正のNumbers一択だ。

何と言ってもタダだし、純正ソフト故にOSXとの相性・動作速度が抜群に良い。

自分はExcelの方が余程使い慣れているし可成りの上級者だったりするけど、意地でも家では使わない。(笑)

ただし弱点はExcelに比べて圧倒的に情報が少ないことだ。

今回の命題も全く情報が見当たらなかった。

 

因みにExcelの日付は1900年1月1日を1としたシリアル値で管理されており、例えば2000年1月1日は36526となる。

時刻は24時を1とした小数で管理されており、12:00は0.5、2000年1月1日12:00は36526.5となる。

従って比較的容易にUNIXタイムスタンプからの変換が可能だ。

 

一方Numbersの場合の情報は一切なく、内部管理方法は不明だ。

だがココで断言したい。

 

NumbersはUNIXエポックミリ秒で日時管理をしてる。

 

そもそもOSXは正規のUNIXであり、100%UNIXエポックミリ秒で日時管理をしている。

そのネイティブな純正ソフトであるNumbersがそうではない可能性は全く無い。

監視カメラ(Arlo製)の録画ファイル名がUNIXタイムスタンプだった

Arlo Pro 2
Arlo Pro 2

Arloというメーカーの防犯カメラを使っている。

これが超スグレモノで、動体検知で自動録画をしてクラウド上に保存してくれる。

動画ファイルは無料でも直近1週間分は保管してくれるが、それ以前のモノは順次削除されてしまう。

自分は動画の長期保管が必要なので順次ダウンロードしてローカルに保存している。

この時ファイル名が『1622873062493.mp4』の様なUNIXタイムスタンプになっているのだ。

このままでは一体いつの動画かさっぱり分からない。

変換するためのNumbers書類を作ってみた

Numbersの書類
Numbersの書類

A列:UNIXタイムスタンプのファイル名を貼り付ける欄👉データフォーマット:自動

 

B列:A列から拡張子「.mp4」を削除し「86400000」で割った値👉データフォーマット:自動、数式:VALUE(LEFT($A2, 13))÷86400000

 

C列:B列をコピーして「数式の結果をペースト」する欄👉データフォーマット:期間(カスタム単位:ミリ秒、スタイル:000)

 

D列:UNIXエポックタイム起点日時(固定値)👉データフォーマット:カスタム(年月日時分秒ミリ秒)

 

E列:日時変換した結果👉データフォーマット:日付と時刻(年月日時分秒)

 

F列:E列の時刻のみを抽出した欄👉データフォーマット:日付と時刻(日付なし、時分秒)

 

重要ポイント

  • Numbersのセルのデータフォーマットには「期間」という謎の形式が存在し、コレがUNIXエポックタイムそのものである。
  • 「期間」形式のセルにUNIXタイムスタンプの値を手打ちすればそのまま格納出来る。
  • しかし他形式のセルの値をコピペする場合「期間」形式に変換する為に86400000倍されてしまう。
  • Numbersの計算結果のセルのデータフォーマットは「自動」となり「期間」や「日付」形式は指定できない。
  • 従って計算結果を一旦コピーして予め「期間」形式を指定したセルに数値ペーストする必要がある。

一括変換方法

  1. 先ずはOSXのFinderで対象ファイルをリスト表示させる。(図参照)
  2. ファイルを全選択してコピーする。(ファイル名の取得)
  3. 前述のNumbers書類のA列に「ペーストしてスタイルを合わせる」でペーストする。
  4. B列をコピーしてC列へ「数式の結果をペースト」する。
  5. 目的の日付はE列に得られる。

ファイル名の一括変換も可能(な筈?)

OSXのターミナルを使えば、ファイル名を一括変換する事も可能らしい。

変換表(変換前と変換後の対応表)を参照させて一括変換する方法がネット上に存在する。

ただし情報はExcelを使って変換表を作成しており、Numbersで行う場合は本ブログの情報へ置き換える必要がある。

自分は既述の変換表だけで事足りた為、一括変換は行なっていない。

そもそも大量の動画ファイルを管理する場合はUNIXタイムスタンプのままの方が扱い易い気がする。

まとめ

情報こそ殆ど無いが、ことUNIX系のモノゴトに関してはOSXは無敵である。

何せOSXは正規のUNIXであり、そこに世界一エレガントなGUIが実装されているのだから。

その純正アプリケーションであるNumbersが不得意な訳がない。

はっきり言って本件はかなり手こずった。

Excel上級者を自負する自分がである。

願わくば今後Numbersに関する情報がもっともっと充実して欲しいものだ。