㈠ 求助:有沒有用php語言計算兩個日期間相差的工作日,只要排除周末就行求借鑒。
給你寫了一個函數,說明一下,周1-周4,相差3天,如果要計算結束那一天的話,那就在return 值的基礎上再+1;
函數為什麼這么寫,你自己揣摩一下,你可以使用我給你的例子,進行測試。應該沒有什麼問題。
$start = mktime(0,0,0,11,1,2012);
$end = mktime(0,0,0,11,30,2012);
echo "相差".workDays($start,$end)."個工作日";
function workDays( $start , $end ){
$end < $start && exit;
$double = ($end - $start)/(7*24*3600);
$double = floor($double);
$start = date('w',$start);
$end = date('w',$end);
$end = $start > $end ? $end + 5 : $end;
return $double * 5 + $end - $start;
}
㈡ php計算兩個時間之間的天數
<?php
$days=cal_days_in_month(CAL_GREGORIAN,4,2011);
echo"返回2011-4的天數".$days."<br/>";
$days=date('t',strtotime("2011-4-1"));
echo"返回2011-4的天數".$days."<br/>";
$days=date("t");
echo"當前月的天數".$days."<br/>";
$thisday=date("d",time());
//循環當前天數到當前月底日期
for($i=$thisday;$i<=$days;$i++){
//在這里進行循環,如果跨幾個月的話,就外層再加一個循環月份的就可以了
}
?>
㈢ php如何計算兩列日期時間的時差
轉換成時間戳,然後兩個時間相減得到的是兩個時間差的秒數,每60是一分鍾3600是一個小時86400是一天,剩下的就簡單了
㈣ 用php計算給定兩個日期相差多少天
:
計算方法不只下面介紹的這些,只是一些比較常規的方法:
上面的php時間日期函數strtotime已經把字元串日期變成了時間戳,這樣只要讓兩數值相減,然後把秒變成天就可以了,比較的簡單,如下:
$days=round(($enddate-$startdate)/3600/24) ;
下面介紹另外一種方法:
上面判斷的是兩個日期的大小,下面則是判斷生日的程序代碼,得到的$n就是相距生日的天數。
$birthday=生日;
$birthday = preg_replace(‘/d+/’, Date(‘Y’), $birthday, 1);
$d = 60*60*24;
$n= floor((strtotime($birthday)-time())/$d);$n=$n+1;
還有如果相比的是現在的時間,就可以用time()函數,得到的就是現在的時間戳.
第二種情況呢,就是有資料庫,這樣就相對比較容易一些了!如果是MSSQL可以使用觸發器!用專門計算日期差的函數datediff()計算便可!
如果是MYSQL那就用兩個日期欄位的時間戳值,進行計算後便可得到相差的天數了。方法和上面的代碼很像。
㈤ PHP計算兩個日期相差的小時、分鍾、秒數
PHP計算兩個日期相差的時分秒
結果: 1小時3分4秒
結語:轉換時間戳取兩個時間相差的秒數再進行處理。
㈥ php 有 2個時間 如何計算2 個時間差幾個月然後循環輸出月份
$time1='時間1';//這里是時間戳
$time2='時間2';//時間2的時間戳
$year1=date("Y",$time1);//時間1的年份
$month1=date("m",$time1);//時間1的月份
$year2=date("Y",$time2);//時間2的年份
$month2=date("m",$time2);//時間2的月份
//接下來先算年份相差幾年在乘以12,再算月份相差幾月,兩個一加就好了。
㈦ php獲取開始與結束日期之間所有日期的方法
本文實例講述了php獲取開始與結束日期之間所有日期的方法。分享給大家供大家參考,具體如下:
/**
*
獲取指定日期段內每一天的日期
*
@param
Date
$startdate
開始日期
*
@param
Date
$enddate
結束日期
*
@return
Array
*/
function
getDateFromRange($startdate,
$enddate){
$stimestamp
=
strtotime($startdate);
$etimestamp
=
strtotime($enddate);
//
計算日期段內有多少天
$days
=
($etimestamp-$stimestamp)/86400+1;
//
保存每天日期
$date
=
array();
for($i=0;
$i<$days;
$i++){
$date[]
=
date('Y-m-d',
$stimestamp+(86400*$i));
}
return
$date;
}
$startdate
=
'2016-08-29';
$enddate
=
'2016-09-29';
//
demo
$date
=
getDateFromRange($startdate,$enddate);
print_r($date);
運行結果如下:
Array
(
[0]
=>
2016-08-29
[1]
=>
2016-08-30
[2]
=>
2016-08-31
[3]
=>
2016-09-01
[4]
=>
2016-09-02
[5]
=>
2016-09-03
[6]
=>
2016-09-04
[7]
=>
2016-09-05
[8]
=>
2016-09-06
[9]
=>
2016-09-07
[10]
=>
2016-09-08
[11]
=>
2016-09-09
[12]
=>
2016-09-10
[13]
=>
2016-09-11
[14]
=>
2016-09-12
[15]
=>
2016-09-13
[16]
=>
2016-09-14
[17]
=>
2016-09-15
[18]
=>
2016-09-16
[19]
=>
2016-09-17
[20]
=>
2016-09-18
[21]
=>
2016-09-19
[22]
=>
2016-09-20
[23]
=>
2016-09-21
[24]
=>
2016-09-22
[25]
=>
2016-09-23
[26]
=>
2016-09-24
[27]
=>
2016-09-25
[28]
=>
2016-09-26
[29]
=>
2016-09-27
[30]
=>
2016-09-28
[31]
=>
2016-09-29
)
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網路編程技巧總結》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
㈧ PHP 如何獲取兩個時間之間的年和月份
$time1 = strtotime('2014-02-04'); // 自動為00:00:00 時分秒
$time2 = strtotime('2015-02-06');
$monarr = array();
$monarr[] = '2014-02'; // 當前月;
while( ($time1 = strtotime('+1 month', $time1)) <= $time2){
$monarr[] = date('Y-m',$time1); // 取得遞增月;
}
print_r($monarr);
㈨ PHP中怎樣計算兩個日期相差的天數
<?php
/**
*求兩個日期之間相差的天數
*(針對1970年1月1日之後,求之前可以採用泰勒公式)
*@paramstring$day1
*@paramstring$day2
*@returnnumber
*/
functiondiffBetweenTwoDays($day1,$day2)
{
$second1=strtotime($day1);
$second2=strtotime($day2);
if($second1<$second2){
$tmp=$second2;
$second2=$second1;
$second1=$tmp;
}
return($second1-$second2)/86400;
}
$day1="2013-07-27";
$day2="2013-08-04";
$diff=diffBetweenTwoDays($day1,$day2);
echo$diff." ";