• ベストアンサー

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

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

  • 差分の月数を算出する方法

    午前中に差分の日数を算出する方法は教えて頂けたのですが、 月数を算出する方法が分からなく困っています。 2007/08/27 13:00 2007/07/31 00:00 この時、差分は1ヶ月としたいです。 日数は考慮せず、あくまで年月のみで算出を行いたいです。 但し、1ヶ月はその年月の末日と同値です。 今やってる処理はこんな感じです。 $now = mktime(0, 0, 0, $now["tm_mon"], 1, $now["tm_year"]); $paradate = mktime(0, 0, 0, $paradate["tm_mon"], 1, $paradate["tm_year"]); $diff = strtotime($now) - strtotime($paradate); ここまではいいと思うのですが、次に以下のような処理を行っています。 (途中まで書いて、だめじゃんと思った状態) $select = $diff / (60 * 60 * 24); ここで何をやりたいかと言うと、何ヶ月の差分があったかを求めたいのです。 しかし、タイムスタンプの差分を求めた日付(ここでは$paradate)が何月で、末日が 何日だからその分を差し引く、その次の月の末日が何日だからその分を 差し引く~・・・ としていかないと正しい差分が求められないと思うのです。 (28, 29, 30, 31の末日の差がある為) どうすれば簡単に処理できるのでしょうか? どなたかご教示下さい。 足りない情報がありましたら随時補足致します。

    • ベストアンサー
    • PHP
  • エクセル  日にちのカウント

    エクセル2007年です。宜しくお願いします。 A行にB行にそれぞれ日にちの記載があります。 A             B       C(2012/8/1-2012/8/30日分  日数) 2011/7/2     2 012/7/20                   0  2012/7/29     2012/8/31                  31 2012/8/18    2012/8/29                   11   このうちの  例えば2012/8/1-2012/8/30日分は何日含まれているか カウントすることはできますか?  C 行を自動計算で算出できる方法があれば教えてください。 宜しくお願いします。

  • 日にちの計算

    エクセルで日にちの計算がしたいのですが ファイルを開くと残り契約日を表示させたいのですが うまくいきません AV61に契約満期日が書いてあるのですが下の式では、・・・・・ DATEDIF(TODAY()-,(AV61),"Y") まったくトンチンカンなので どなたか教えてください。 又残り日数表示を 年 月 日としたいのですが お願いします

  • 金利計算の算出

    このカテゴリーでよいのかわかりませんが、お願いします。1200万の借入額で年率13%で15年間で払う予定ですが、新たに年率3%にてOKという公的機関があり、誰が見てもそちらが得なのでお願いしようと考えていますが、いかんせんどのくらい得なのかという算出方法をしりません。簡単な算数だとおもいますが、月ずきの差額などを計算していただきませんか?その際の手数料やその他の費用は無視してかまいません。よろしくお願いします。

  • エクセルで日にちをまたぐ場合の時間計算

    エクセルで表を作ってみて「あれっ」と思ったのですが、日にちを またぐ時間データから、その期間の延べ時間を計算する方法って あるのでしょうか? 例 6/10  6/11 22:00 9:58 上の区間の時間11:58を求めたいのですが、上手い計算方法があるので しょうか?

  • 時間算出 その2

    時間算出 その2 CSVで出力した 1.59.4 と表記されている時間を 119.4 と 再計算する計算方法およびセル書式方法をご教示下さい。

  • EXCELで合計値を元に算出したい。

     表題について、少々説明が難しいのですが、どうぞご考慮願います。  たとえば、10人いて、それぞれ時給が違うとします。  その月(又は日、いわゆる締めるとき)の10人全員の合計が、50000円だとすると、それぞれ誰が何時間働けばよいのか?というもので、その時間が自動的に算出する方法を教えてください。

  • 星の大きさの算出方法

    疑問に思ったんですが、恒星の大きさ(半径)というものはどうやって算出しているのでしょうか? その星の絶対等級が分かれば算出できるとか、太陽を基準として太陽の何倍という風にすれば計算しやすいということまでは本で調べられたのですが、具体的な計算方法については調べきれませんでした。 どなたかわかる方いらっしゃいましたら回答おねがいします。

  • MTBFの算出方法

    諸先輩方々、ご指導をお願いします。 ある製品のMTBFを算出しようとしていますが、算出方法に悩んでいます。 条件は下記です。 ・市場での製品稼働数:約3千台 ・故障部品 :製品を構成する部品が数百あるものの、特定の3つに部品に集中 ・故障した製品の稼働時間: 約100時間程度(初期故障の様な気もしますが) こうした場合、MTBF = システムの稼働時間 / 故障回数 にしてしまうと MTBF = 100時間 / 2回 となり、MTBF = 50 ということになります。 しかし、この計算には故障していない製品も数多くあり、それらを全て無視してMTBFを 算出してしまうことになり、これで良いのか悩んでいます。 算出方法についてご教示をお願いできませんでしょうか?

  • 残業時間の予測の時間を算出するには?

    残業時間の予測の時間を算出するには どのような計算をすれば宜しいですか? 例えば、年間の残業時間が600時間だとして それを12ヶ月で割って、1ヶ月の平均残業時間を出して そこから翌月の残業時間を算出するという計算は 思いつきました。 ただ、これですと、 季節によって、 または仕事の種類によって  (例えば4月~5月は事務系の仕事、6月は営業の仕事など) 曜日によって 変動の仕方が変わってくると思いますので その辺りを考慮に入れた予測時間を算出したいのですが・・・。