导航:首页 > 编程语言 > 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时间段分析相关的资料

热点内容
为什么开机画面有安卓标志呢 浏览:315
java数据结构和算法分析 浏览:398
怎么理解虚拟服务器 浏览: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