• ベストアンサー

mktimeについて教えてください

今、日付の差を出すプログラムを作っているのですが mktime()関数では 1970年~2038年までしか 対応していないことがわかりました mktime()以外で 日付を Unix のタイムスタンプとして取得する 関数ってありますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>mktime()関数では >1970年~2038年までしか >対応していないことがわかりました これは、mktime関数の問題というよりは、UNIXTIMEを32bit符号付整数であらわす際には常に生じる制約です。 http://ja.wikipedia.org/wiki/2038%E5%B9%B4%E5%95%8F%E9%A1%8C 日付の差を求めるには、GregorianToJDという関数が使えます。 http://jp.php.net/manual/ja/function.gregoriantojd.php これを使えば、BC4714年~AD9999年まで扱えます。

punipunipuniko
質問者

お礼

これを使ってやってみることにします ありがとうございました

その他の回答 (1)

回答No.1

> 日付を Unix のタイムスタンプとして取得する > 関数ってありますか? mktime関数で何が不満なのですか? 現在のタイムスタンプはtime関数です。 日付のフォーマットならdate関数でなんとでも整形出来ます。 date("Y-m-d H:i:s",time()); // "2006-11-21 19:10:15"

関連するQ&A