Php 找出两个时隙之间的时间?

Php 找出两个时隙之间的时间?,php,Php,我有两次开始时间=2009-12-01 9.30 pm和结束时间=2009-12-01 11.30 pm(YYYY-MM-DD)。如果用户在这两次时间之间进行任何活动,即在2009-12-01 10.30 pm,我需要告诉他您无权进行此活动。。。 2009-12-01 9.30 pm和2009-12-01 11.30 pm这两个时间段取自数据库。时间2009-12-01 10.30由用户给出 我的问题是,我怎样才能找到晚上10:30发生在晚上9:30到11:30之间的时间 我用PHP编写程序$s

我有两次开始时间=2009-12-01 9.30 pm和结束时间=2009-12-01 11.30 pm(YYYY-MM-DD)。如果用户在这两次时间之间进行任何活动,即在2009-12-01 10.30 pm,我需要告诉他您无权进行此活动。。。 2009-12-01 9.30 pm和2009-12-01 11.30 pm这两个时间段取自数据库。时间2009-12-01 10.30由用户给出

我的问题是,我怎样才能找到晚上10:30发生在晚上9:30到11:30之间的时间

我用PHP编写程序

$start=strotime($start\u time);
$start = strtotime($start_time);
$end = strtotime($end_time);
$user = strtotime($user_time);

if($user > $start && $user < $end) die('You are not allowed');
$end=strottime($end\u时间); $user=strottime($user\u time); 如果($user>$start&&$user<$end)死亡(“您不被允许”);
$start=strotime($start\u time);
$end=strottime($end\u时间);
$user=strottime($user\u time);
如果($user>$start&&$user<$end)死亡(“您不被允许”);
使用
strotime()
将字符串转换为Unix秒。然后是一个简单的

if ($time1 < strtotime(10:30...) && strtotime(10:30...) < $time 2)
{
    //do your stuff;
}
if($time1
使用
strotime()
将字符串转换为Unix秒。然后是一个简单的

if ($time1 < strtotime(10:30...) && strtotime(10:30...) < $time 2)
{
    //do your stuff;
}
if($time1
将“2009-12-01 9.30 pm”和“2009-12-01 11.30 pm”转换为unix时间戳,然后将它们与
进行比较将“2009-12-01 9.30 pm”和“2009-12-01 11.30 pm”转换为unix时间戳,然后将它们与
进行比较您可以使用数据库查询或PHP。在PHP中:

$timeStart = strtotime('2009-12-01 11.30');
$timeEnd   = strtotime('2009-12-01 09.30');
$time = strtotime('2009-12-01 10.30');

if($time > $timeStart && $time < $timeEnd) {
   echo "Between given times.";
}
$timeStart=strotime('2009-12-01 11.30');
$TIMEND=STROTIME('2009-12-01 09.30');
$time=strottime('2009-12-01 10.30');
如果($time>$timeStart&&$time<$timeEnd){
回音“在给定时间之间”;
}

您可以使用数据库查询或PHP。在PHP中:

$timeStart = strtotime('2009-12-01 11.30');
$timeEnd   = strtotime('2009-12-01 09.30');
$time = strtotime('2009-12-01 10.30');

if($time > $timeStart && $time < $timeEnd) {
   echo "Between given times.";
}
$timeStart=strotime('2009-12-01 11.30');
$TIMEND=STROTIME('2009-12-01 09.30');
$time=strottime('2009-12-01 10.30');
如果($time>$timeStart&&$time<$timeEnd){
回音“在给定时间之间”;
}

当您可以简单地使用SQL查询时,无需执行任何过多的PHP处理:

SELECT 1 FROM your_table_name WHERE '2009-12-01 10:30:00' BETWEEN start_time AND end_time;
如果用户活动发生在数据库中的任何开始和结束时间之间,则将返回1个或多个结果。请注意,表中应该有最左边的前缀索引(开始时间、结束时间)


只需检查您的查询结果。如果行数大于或等于1,则您知道用户活动在数据库中介于开始和结束时间之间。

如果您可以简单地使用SQL查询,则无需执行任何过多的PHP处理:

SELECT 1 FROM your_table_name WHERE '2009-12-01 10:30:00' BETWEEN start_time AND end_time;
如果用户活动发生在数据库中的任何开始和结束时间之间,则将返回1个或多个结果。请注意,表中应该有最左边的前缀索引(开始时间、结束时间)


只需检查您的查询结果。如果行数大于或等于1,您就知道用户活动在数据库中介于开始和结束时间之间。

我认为它仅适用于大于或等于5.3的php版本。我认为它仅适用于大于或等于5.3的php版本