# 数値to日付

# Excel

日付はもともと数値(1970/01/01からの日数)

Q. UNIX epoch(エポック)? から Excel の日付形式に変換

A. =DATE(1970, 1, 1) + A1/24/60/60 + 9/24
    ※ 9/24 は 9時間のこと

シリアル値
  Windowsの日付(シリアル型)は 1900/01/00 00:00:00 からの通算「日」。
  つまり12時間=0.5

  UNIXタイムスタンプは 1970/01/01 00:00:00 からの通算「秒」。

  1970/01/01 = Win形式で25569

# PHP

$dt->setTimestamp($ts);
$dt->setTimestamp($ts);
or
$dt = DateTime::createFromFormat('U', 1427002345);

$dt = DateTime::createFromFormat('U', 1427002345);
$dt->setTimestamp(1427002345.333333);

秒以下は設定不可?

# Python

t = datetime.datetime.fromtimestamp(ts)
# タイムスタンプからDateTime
t = datetime.datetime.fromtimestamp(ts)

# [o] Microseconds : OK

def epoch2datetime(e):
  return datetime.datetime(*time.localtime(e)[0:7])

print epoch2datetime(1358859697)

# Ruby

t = Time.at(ts)

# メモ

0 は 1 は
Linux の日付 1900/01/00? 1秒
Excelの日付 1970/01/01? 1日

[ 📩 ご意見 ]