(☆) http://d.hatena.ne.jp/KuroNeko666/20070821/1187689020
http://www5d.biglobe.ne.jp/~noocyte/Programming/GregorianAndJulianCalendars.html
http://blog.mode-a.com/2008/11/28/excel_date-unix_time/
いろいろにらんで見ると、
ということのようだ。これだけきちんと定義されてれば、計算は可能。
但し、研究とか現実とかはまた別の話。
基準が0か1かということに惑わされた。
スケジュールを扱う上では、シリアル値の方が日単位なので便利かな。
‥ということで、遅い方の基準日時『1970年1月1日』について両方の時間で表現しておこう。そうすれば実用的に換算できる。
より実践的に、JSTの値を見ておく。
- 1970年1月1日00:00:00(JST)のUnix Time (PHP strtotime()出力)は、-32400秒(≡-9×3600)
- 1970年1月1日00:00:00のシリアル値(エクセルの標準表示)は、25569日
これより、
$dateSerial = (int)((strtotime($dateTextInput) + 9*3600)/(24*3600)) + 25569;
前出(☆)以外に参考にしたもの
http://phpnokowaza.seesaa.net/article/9787777.html
http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=date&cid=002