導航:首頁 > 編程語言 > php時間段分析

php時間段分析

發布時間:2025-01-12 12:53:19

① 比較時間段一與時間段二是否有交集的php函數

步驟一:先看一下哪個時間端的 開始時間 比較早就算是A時間,另一個是B時間
步驟二:比較下 A時間的結束時間(C) 是不是 晚於B時間的開始時間(D)。就可以知道了。

A:--------==========C--------
B:-----------D===========-------

A:-----===================C--------
B:-----------D===========-------

② PHP編程計算兩個時間段是否有交集的實現方法(不算邊界重疊)

本文實例講述了PHP編程計算兩個時間段是否有交集的實現方法。分享給大家供大家參考,具體如下:
優化前的版本:
/**
*
PHP計算兩個時間段是否有交集(邊界重疊不算)
*
*
@param
string
$beginTime1
開始時間1
*
@param
string
$endTime1
結束時間1
*
@param
string
$beginTime2
開始時間2
*
@param
string
$endTime2
結束時間2
*
@return
bool
*/
function
is_time_cross($beginTime1
=
'',
$endTime1
=
'',
$beginTime2
=
'',
$endTime2
=
'')
{
$status
=
$beginTime2
-
$beginTime1;
if
($status
>
0)
{
$status2
=
$beginTime2
-
$endTime1;
if
($status2
>
0)
{
return
false;
}
elseif
($status2
<
0)
{
return
true;
}
else
{
return
false;
}
}
elseif($status
<
0)
{
$status2
=
$endTime2
-
$beginTime1;
if
($status2
>
0)
{
return
true;
}
else
if
($status2
<
0)
{
return
false;
}
else
{
return
false;
}
}
else
{
$status2
=
$endTime2
-
$beginTime1;
if
($status2
==
0)
{
return
false;
}
else
{
return
true;
}
}
}
優化後的版本(條件合並):
/**
*
PHP計算兩個時間段是否有交集(邊界重疊不算)
*
*
@param
string
$beginTime1
開始時間1
*
@param
string
$endTime1
結束時間1
*
@param
string
$beginTime2
開始時間2
*
@param
string
$endTime2
結束時間2
*
@return
bool
*/
function
is_time_cross($beginTime1
=
'',
$endTime1
=
'',
$beginTime2
=
'',
$endTime2
=
'')
{
$status
=
$beginTime2
-
$beginTime1;
if
($status
>
0)
{
$status2
=
$beginTime2
-
$endTime1;
if
($status2
>=
0)
{
return
false;
}
else
{
return
true;
}
}
else
{
$status2
=
$endTime2
-
$beginTime1;
if
($status2
>
0)
{
return
true;
}
else
{
return
false;
}
}
}
測試:
$beginTime1
=
strtotime('2015-08-07
06:30');
$endTime1
=
strtotime('2015-08-07
08:30');
$beginTime2
=
strtotime('2015-08-07
05:30');
$endTime2
=
strtotime('2015-08-07
06:31');
echo
is_time_cross($beginTime1,
$endTime1,
$beginTime2,
$endTime2);//輸出1
PS:這里再為大家推薦幾款時間及日期相關工具供大家參考使用:
在線日期/天數計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計算器/相差天數計算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數差計算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉換工具:
http://tools.jb51.net/code/unixtime
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網路編程技巧總結》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

③ php求一段時間內各周的起始時間和結束時間

function getTimeList($startTime, $endTime, $isWeek=true) {
$result = array();
if(!($st = strtotime($startTime)) || !($et = strtotime($endTime))) return false;
$day = 86400; //一天24*60*60
$sDate = getdate($st);
if($isWeek) {
$result['weekly'] = array();
$nextTime = (6 - $sDate['wday']) * $day + $st;
$currentTime = $st;
while($nextTime < $et) {
$result['weekly'][] = array('weekStart' => gmdate('Y-m-d', $currentTime), 'weekEnd' => gmdate('Y-m-d', $nextTime));
$currentTime = $nextTime + 86400;
$nextTime = $nextTime + 604800;//7天*24小時*60分*60秒
}
$result['weekly'][] = array('weekStart' => gmdate('Y-m-d', $currentTime), 'weekEnd' => $endTime);
} else {
$result['monthly'] = array();
$currentMonth = $st;
$m = $sDate['mon'];
$year = $sDate['year'];
while($lastMonth < $et) {
if($m == 12) {
$m = 1;
$year = $year + 1;
} else $m++;
$firstDate = strtotime($year."-".$m."-01"); //下月初時間截
$lastMonth = $firstDate - $day;//得到本月末時間截
if($lastMonth > $et) $lastMonth = $et;
$result['monthly'][] = array('monthStart' => gmdate('Y-m-d', $currentMonth), 'monthEnd' => gmdate('Y-m-d', $lastMonth));
$currentMonth = $firstDate;
}
}
return $result;
}
調用:

$w = getTimeList('2013-05-02', '2013-08-06');
print_r($w);
echo '<p/>';
$m = getTimeList('2013-05-02', '2014-03-06', false);
print_r($m);
測試OK,你看看是不是你想要的吧

④ 如何寫PHP 判斷當前時間是否大於下午6點

需要准備的材料分別是:電腦、php編輯器、瀏覽器。

1、首先,打開php編輯器,新建php文件,例如:index.php。

⑤ PHP多個時間段交集判斷

沒想到特別好的方法 你可以試試轉化為時間戳(設置同一個日期) 然後把這個數據換成一個二維得 起始時間 為minTime 結束時間為maxTime 然後拿值取比較 我只想到這一個方法

⑥ php中如何查詢指定時間段的數據

下面是時間戳查詢。如果資料庫時間顯示的是 2011-04-05 那就不需要 用 strtotime 時間戳轉換函數:

$timea = strtotime($_POST['timea']);

$timeb = strtotime($_POST['timeb']);

$sq2="select * from `ecs_order_info` where add_time between '$timea' and '$timeb' and `quanxian`='$dangqian' order by `order_id` DESC limit 50";

$sql = mysql_query($sq2);

(6)php時間段分析擴展閱讀

在php中完成

1、UNIX時間戳轉換為日期用函數: date()

一般形式:date('Y-m-d H:i:s', 1156219870);

2、日期轉換為UNIX時間戳用函數:strtotime()

一般形式:strtotime('2010-03-24 08:15:42');

在MySQL中完成

這種方式在MySQL查詢語句中轉換,優點是不佔用PHP解析器的解析時間,速度快,缺點是只能用在資料庫查詢中,有局限性。

1、UNIX時間戳轉換為日期用函數: FROM_UNIXTIME()

一般形式:select FROM_UNIXTIME(1156219870);

2、日期轉換為UNIX時間戳用函數: UNIX_TIMESTAMP()

一般形式:Select UNIX_TIMESTAMP('2006-11-04 12:23:00′);

舉例:mysql查詢當天的記錄數:

$sql=」select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc」。

閱讀全文

與php時間段分析相關的資料

熱點內容
怎麼理解虛擬伺服器 瀏覽:402
黑馬程序員ai培訓課資源 瀏覽:648
abplc加密軟體下載 瀏覽:421
交叉編譯內核後 瀏覽:275
php小程序100行左右 瀏覽:103
要進行壓縮解壓的命令是 瀏覽:736
mscod編程平台 瀏覽:520
pdf文字轉換word文檔 瀏覽:992
php連接mssql2005 瀏覽:894
庫進行編譯可以嗎 瀏覽:773
雲南石油app推薦碼哪裡看 瀏覽:457
ipone有文件加密嗎 瀏覽:72
蝴蝶文件夾怎麼使用 瀏覽:699
wps文件夾安裝包在哪裡 瀏覽:439
android2x 瀏覽:135
知音購物app哪裡下載 瀏覽:527
stc單片機看門狗 瀏覽:790
單片機與計算機串口通信 瀏覽:309
linux安裝jdk7 瀏覽:286
因子估演算法例子 瀏覽:240