我查看了 stackoverflow 和 google 的类似问题,但没有找到适合我的问题的答案。如果我让一个重复的问题通过,我仍然很抱歉。拜托,如果你能指点我,我会很感激。
我的问题是我需要在 php 中编写一个以 H 格式格式化的时间表,但现在我需要添加一个半小时并且不知道如何。这是我的代码,因此您可以更好地理解我的意思:
$time = (int)date('H');
if($time>=24 && $time<6)
{
//some code...
}
else if($time>=6 && $time<18) //My problem is here, I need it to be 18:30
{
//some other code...
}
//code goes on for rest of hours of the day
我尝试将 $time 更改为 (int)date('H:i'),但是当我写 if($time>=6:00 && $time<18:00) 时,由于“:”而出现错误
编辑:好的,我尝试了两种方式,这就是代码的样子
date_default_timezone_set('America/Lima');
if (!isset($timestamp)) {
$timestamp = time();
}
$dw = date( "w", @$timestamp);
$time = date('HH:ii');
if($dw>0 && $dw<=4)
{
if($time>="00:00" && $time<"04:00")
{
$show->current = "A";
$show->next= "B";
}
else if($time>="04:00" && $time<"06:30")
{
$show->current = "B";
$show->next= "C";
}
else if($time>="06:30" && $time<"09:00")
{
$show->current = "C";
$show->next= "D";
}
它一直持续到再次到达 00:00。问题是这样它似乎无法识别所有日期,因此,例如,如果我将当前 C 时间编辑为从 06:00 而不是 06:30 开始,它不会在我的网站上更新。
date_default_timezone_set('America/Lima');
if (!isset($timestamp)) {
$timestamp = time();
}
$dw = date( "w", @$timestamp);
$time = date('G');
if($dw>0 && $dw<=4)
{
if($time>=0 && $time<4)
{
$show->current = "A";
$show->next= "B";
}
else if($time>=4 && $time<6.5)
{
$show->current = "B";
$show->next= "C";
}
else if($time>=6.5 && $time<9)
{
$show->current = "C";
$show->next= "D";
}
在这里它更新得很好,但它不能将 6.5 识别为 6:30,所以当时我没有获得当前的 C 节目,而是继续获得 B。