ホームページ  >  記事  >  バックエンド開発  >  PHP は日付間の日数の差 (任意の時刻と現在の時刻との時差) を計算します。

PHP は日付間の日数の差 (任意の時刻と現在の時刻との時差) を計算します。

WBOY
WBOYオリジナル
2016-07-25 08:51:363170ブラウズ
  1. function count_days($a,$b){
  2. $a_dt=getdate($a);
  3. $b_dt=getdate($b);
  4. $a_new=mktime(12,0, 0,$a_dt['mon'],$a_dt['mday'],$a_dt['year']);
  5. $b_new=mktime(12,0,0,$b_dt['mon'],$b_dt[ 'mday'],$b_dt['year']);
  6. returnround(abs($a_new-$b_new)/86400);
  7. }
  8. //今日から 2008 年 10 月 11 日までは何日ありますか
  9. $date1 = strtotime(time());
  10. $date1=strtotime('10/11/2008');
  11. $result=count_days($date1,$date2);
  12. echo $result;
  13. ?>
コードをコピー

方法 2:

  1. //今日から 2008 年 9 月 9 日までは何日ありますか?
  2. $Date_1=date("Y-m-d");
  3. $Date_2="2008-10-11";
  4. $d1 =strtotime($Date_1);
  5. $d2=strtotime($Date_2);
  6. $Days=round(($d2-$d1)/3600/24);
  7. echo "今日と 2008 年 10 月 11 日の違い". $Days."Days";
  8. ?>
コードをコピー

PHP 任意の時刻と現在時刻との時差を取得します

コード:

  1. #関数: 任意の時刻と現在の時刻との時差を取得します
  2. 関数 QueryDays($datestr){
  3. #時刻をフォーマットします
  4. $da=preg_split("/(-| |:) /i ",$datestr);
  5. $nowyear=date("Y");
  6. $nowmon=date("n");
  7. $nowday=date("d");
  8. $nowtimes=mktime(0,0 ,0 ,$nowmon,$nowday,$nowyear);
  9. $pdtimes= mktime(0,0,0,$nowmon,$nowday,$nowyear-1);
  10. $bjtimes= mktime(0,0,0,$ da[ 1],$da[2],$da[0]);
  11. #指定された時間が1年以内かどうかを判定
  12. if ($bjt​​imes>=$pdtimes and $bjtimes<=$nowtimes){
  13. return ( Floor(strftime("%j",mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime($da[3],$da[4],$da[5],$da[ 1],$da[2],$da[0])));
  14. }else{
  15. $loop=$nowyear-$da[0];
  16. $totaldays=(floor(strftime("%j", mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime(0,0,0,1,1,$nowyear))));
  17. for($i=1;$i<=$ループ;$i++){
  18. for($j=12;$j>=1;$j--){
  19. if ($da[0]==$nowyear-$i および $da[1]==$ j){
  20. $days=MonDays($nowyear-$i,$j);
  21. return $totaldays+=$days-$da[2];
  22. break;
  23. }else{
  24. $days=MonDays($nowyear-$ i,$j);
  25. $totaldays+=$days;
  26. }//end else
  27. }//end for
  28. }//end for
  29. }//end else
  30. }//end function
  31. #日数を取得する月内
  32. function MonDays($year,$month){
  33. switch ($month){
  34. case "1":
  35. case "3":
  36. case "5":
  37. case "7":
  38. case "8" :
  39. ケース "10":
  40. ケース "12": $days=31;休憩;
  41. ケース "4":
  42. ケース "6":
  43. ケース "9":
  44. ケース "11": $days=30;休憩;
  45. case "2":
  46. if (checkdate($month,29,$year)){
  47. $days=29;
  48. }else{
  49. $days=28;
  50. }//end else
  51. break;
  52. }/ /end switch
  53. return $days;
  54. }//end function
  55. $datestr="2002-1-14 9:47:20";
  56. echo QueryDays($datestr);
  57. ?>
コードをコピー

PHP 2つの時刻間の年、月、時、分、秒の差を計算します

PHPで年、月、時、分、秒の2つの時間の差を計算する方法

まず 2 つの時刻をタイムスタンプに変換し、次にそれらを減算して 2 つの時刻間の秒の差を取得し、最後に演算を実行して 2 つの時刻間の年、月、日、時、分、秒の差を取得します。

コード:

  1. $time1 = "2008-6-15 11:49:59" //初めて
  2. $time2 = "2007-5-5 12:53:28"; /2回目
  3. $t1 = strtotime($time1);
  4. $t2 = strtotime($time2);
  5. $t12 = abs($t1-$t2);
  6. $start = 0;
  7. $string = " 違い2 つの時間の間: ";
  8. $y = Floor($t12/(3600*24*360));
  9. if($start || $y )
  10. {
  11. $start = 1;
  12. $t12 -= $y *3600*24*360;
  13. $string .= $y."年";
  14. }
  15. $m = Floor($t12/(3600*24*31));
  16. if($start || $m)
  17. {
  18. $start = 1;
  19. $t12 -= $m*3600*24*31;
  20. $string .= $m."month";
  21. }
  22. $d = Floor($t12/(3600*24)) ;
  23. if($start || $d)
  24. {
  25. $start = 1;
  26. $t12 -= $d*3600*24;
  27. $string .= $d."天";
  28. }
  29. $h = フロア($t12/(3600));
  30. if($start || $h)
  31. {
  32. $start = 1;
  33. $t12 -= $h*3600;
  34. $string .= $h."hour";
  35. }
  36. $s = Floor($t12/(60));
  37. if($start || $s)
  38. {
  39. $start = 1;
  40. $t12 -= $s*60;
  41. $string .= $s ."分";
  42. }
  43. $string .= "{$t12} 秒";
  44. echo $string;
  45. ?>
コードをコピー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。