我想取两个变量,一个代表日期,另一个代表时间,然后将它们组合成一个日期。
然后我想使用合并的日期和时间来检查当前日期和时间是否与合并的日期和时间相差 24 小时或更短时间。
$game_date = $game['date'];
$game_time = $game['time'];
$combined_date_and_time = date('$game_date $game_time');
$game_date 读取存储为:03/28/2013
$game_time 读取存储为:07:05 pm
在输出中,$combined_date_and_time 读作:
$2pm03America/Los_Angeles_28pm31America/Los_Angeles $2pm03America/Los_Angeles_313803America/Los_Angeles
这当然是不对的。
是否可以将两者合并为一个日期然后进行比较?
最佳答案
$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!';
}
不过要小心!如果您的日期曾以欧洲格式 (dd/mm/yyyy
) 存储,您需要在解析日期之前更改顺序,否则它将无法工作。
如果日期分隔符是 -
或 .
,则假定为欧洲格式。
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;
}
上面的代码将在日期变量和 combined_date_and_time 变量的初始化之间进行。
关于php - 取日期和时间的两个变量并组合成一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15692704/