在我的网站上,我的格式为TITLE#HH:MM-HH:MM#LOCATION
。我可以使用explode("#",...
轻松将其拆分为3个不同的数组键,并显示数据,但现在我正在创建一个函数来返回当前时间戳是否在" HH:MM-HH中: MM&#34 ;.
HH:MM-HH:MM的格式为12:20-13:10
,其中第一次是事件的开始时间,第二次是事件结束的时间。我试图检测页面加载和调用time()
的时间是否在12:20-13:10之内。
我该怎么做呢?我尝试过创建一些代码,但我不确定如何干净利落地完成这些代码。
谢谢!
更新 -
$tEvent = explode("-", $arr[1]);
$now = new DateTime(date("Y-m-d H:i:s",$time), new DateTimeZone('America/Detroit'));
$start = new DateTime($tEvent[0], new DateTimeZone('America/Detroit'));
$end = new DateTime($tEvent[1], new DateTimeZone('America/Detroit'));
if ($now->format('U') >= $start->format('U') && $now->format('U') <= $end->format('U')) {
//within time
}
答案 0 :(得分:1)
您可以使用多种不同的方法来完成此操作。就个人而言,我喜欢使用Datetime
类来操作php中的日期。
$timeEvent = "12:20-13:10"; // your string with start and end of the event
$tEvent = explode("-", $timeEvent); // split in 2 (0 is start, 1 is end)
$now = new Datetime("NOW"); // gets the actual date
$start = new Datetime($tEvent[0]); // create datetime object with start date
$end = new Datetime($tEvent[1]); // create datetime object with end date
if ( $now > $start && $now < $end ) // check if now is between start and end
{
echo "It's event time!";
}