Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

UNIX Time から シリアル値に変換する方法

まずはそれぞれの定義から

※シリアル値
LibreOffice Calc では1899年12月31日を1として、その日からの通算日数で時刻を表した値
2016/12/6 14:09:40 = 42710.5900462963

※UNIX Time
1970年1月1日0時0分0秒からの経過秒数
2016/12/6 14:09:40 = 1481000980

求め方
[シリアル値] = ( [UNIX Time] + 32400 ) / 86400 + 25569

32400は日本時間への換算で = 9 × 60 × 60
86400は日数への換算で = 24 × 60 × 60
25569は起点とする時刻の違いの分の調整

unixtoserial
LibreOffice Calcでは、シリアル値に変換してあれば、書式設定で通常の日時時刻表示にすることができる。

追記(2018/06/29)
日付や時刻のデータをシリアル値に直すにはTIMEVALUE()やDATEVALUE()を使う。

面倒なのは代入するのが「文字列」であること。
あと、上のように、TIMEVALUEは時間だけ、DATEVALUEは日時だけを抜き出して表示する。
それぞれ、日付や時刻は無視する。

このエントリーをはてなブックマークに追加

Posted under: LibreOffice


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.