perlのtime関数で取得したシリアル時間をエクセルで読む方法

 

perlのtime関数では1970年1月1日0時0分0秒からの経過時間(秒)を表示します。

このように表示されます。→ 1063060415

これでは、この数字が何時何分を表すかわかりません。

そのために、実際にはlocaltime関数などを使っている例が多いです。

 

ただ、いったんアクセス解析cgiのtime関数で取得してしまったシリアル時刻は、変換のしようがありません。

一方、エクセルも同様の考え方で、シリアル時刻を持っていますが、perlのtime関数とは基準が違います。

  基準 単位
perl 1970年1月1日 秒数
excel 1900年1月1日 日数

perlのtime関数で取得したシリアル時刻を、エクセルで時刻化するには、以下の式を入力します。

=(A1/86400)+25569+0.375  

赤字はサーバ時差。サーバがグリニッジ標準時を採用しているとき、日本時間にしたい場合はこの時差分を加えます。

そしてセルの書式設定を「ユーザー定義」「yyyy/m/d h:mm:ss」とします。

よって 1063060415 は、2003/9/9 7:33:35 であるとわかります。