• ベストアンサー

差分の日にちを算出する計算

2007/02/02 18:00 2007/02/01 23:00 これを1日と見なす計算をしたいのですが、どういう風に計算したら良いのか いい方法が思い浮かびません。 時間は無視し、あくまでも日にちが変わったら1日とします。 (年月は勿論考慮します) なので、単純に引き算を行っても算出出来ないと思うのですが、 いい方法はありませんでしょうか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

strtotimeしたとmktimeすればよいでしょう。 もちろんstrtotimeするまえに文字列で左から10文字抜き出してもいいですが。 <?PHP $str1="2007/02/02 18:00"; $str2="2007/02/01 23:00"; $date1=strtotime($str1); $date1=mktime(0,0,0,date("m",$date1),date("d",$date1),date("Y",$date1)); $date2=strtotime($str2); $date2=mktime(0,0,0,date("m",$date2),date("d",$date2),date("Y",$date2)); $datediff=abs(($date2 - $date1) /(60 * 60 * 24)); print $datediff; ?>

naktak
質問者

お礼

ありがとうございます!無視する方法がわからず大分悩んでしまいました・・・。 mktime()使えば簡単ですね!

その他の回答 (1)

  • kalkichi
  • ベストアンサー率64% (22/34)
回答No.2

1. 時間を切り捨てる(2007/02/02 00:00 & 2007/02/01 00:00) 2. UNIXタイムに変換する 3. 引き算する 4. (60*60*24)で割る 1を省略して4の後に小数点以下を切り捨ててもOKです。

naktak
質問者

お礼

ありがとうございます!やりたいことが解決しそうです。

関連するQ&A

専門家に質問してみよう