Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 取日期和时间的两个变量,组合成一个日期_Php_Pdo - Fatal编程技术网

Php 取日期和时间的两个变量,组合成一个日期

Php 取日期和时间的两个变量,组合成一个日期,php,pdo,Php,Pdo,我想取两个变量,一个表示日期,另一个表示时间,然后将它们组合成一个日期 然后,我想使用合并的日期和时间来检查当前日期和时间是否与合并的日期和时间相差24小时或更少 $game_date = $game['date']; $game_time = $game['time']; $combined_date_and_time = date('$game_date $game_time'); $game_date读取的数据存储为:2013年3月28日 $game_时间读数存储为so:07:05 p

我想取两个变量,一个表示日期,另一个表示时间,然后将它们组合成一个日期

然后,我想使用合并的日期和时间来检查当前日期和时间是否与合并的日期和时间相差24小时或更少

$game_date = $game['date'];
$game_time = $game['time'];

$combined_date_and_time = date('$game_date $game_time');
$game_date读取的数据存储为:2013年3月28日

$game_时间读数存储为so:07:05 pm

在输出时,$composed_date_和_time的内容如下:

$2pm03America/Los_Angeles_28pm31America/Los_Angeles $2pm03America/Los_Angeles_313803America/Los_Angeles
这当然是不对的

是否可以将两者合并为一个日期,然后进行比较?

使用而不是
日期

php > $dt = strtotime("03/28/2013 07:05 pm");
php > echo date("Y-m-d H:i:s", $dt);
2013-03-28 19:05:00
(此外,变量不会展开为单引号的
字符串,请改用双引号的
字符串)


上面的代码将介于日期变量的初始化和组合的日期和时间变量之间。

感谢所有的帮助!我最终使用了MichaelRuston的解决方案。Michael,我可以添加什么来防止它显示过去已经发生过的游戏呢?
if(strotime($composed\u date\u and\u time)
无需执行上述“如果”,Strotime会为您执行此操作,如果它们是dmy,只需str_将“/”替换为“.”(可能甚至不需要检查,只需运行str_替换即可),Strotime知道其dmy而不是mdy
$game_date = game['date'];
$game_time = game['time'];

$combined_date_and_time = $game_date . ' ' . $game_time;
$past_date = strtotime($combined_date_and_time);

$hours = 24;

// Check if date is more recent than the specified number of hours
if ((time() - $past_date) < (60 * 60 * $hours))
{
    echo 'Yes!';
}
if (strpos($game_date, '-') !== false)
{
    list($day, $month, $year) = explode('-', $game_date);
    $game_date = $month . '/' . $day . '/' . $year;
}
else if (strpos($game_date, '.') !== false)
{
    list($day, $month, $year) = explode('.', $game_date);
    $game_date = $month . '/' . $day . '/' . $year;
}