PHP 将 15 分钟添加到时间值
我有一个接收时间值的表单:
$selectedTime = $_REQUEST['time'];
时间采用这种格式 - 9:15:00 - 即上午9:15。然后,我需要添加15分钟,并将其存储在一个单独的变量中,但我感到困惑。
我试图使用strtotime但没有成功,例如:
$endTime = strtotime("+15 minutes",strtotime($selectedTime)));
但这不会解析。
我有一个接收时间值的表单:
$selectedTime = $_REQUEST['time'];
时间采用这种格式 - 9:15:00 - 即上午9:15。然后,我需要添加15分钟,并将其存储在一个单独的变量中,但我感到困惑。
我试图使用strtotime但没有成功,例如:
$endTime = strtotime("+15 minutes",strtotime($selectedTime)));
但这不会解析。
您的代码不起作用(解析),因为您在最后有一个额外的代码,导致解析错误。计数,你有 2 和 3 。如果您修复此问题,它将正常工作,但返回时间戳,因此要获得人类可读的时间使用 。)
(
)
strtotime()
date()
$selectedTime = "9:15:00";
$endTime = strtotime("+15 minutes", strtotime($selectedTime));
echo date('h:i:s', $endTime);
获取一个编辑器,它将语法突出显示并显示不匹配的括号,大括号等。
要在没有任何TZ或DST的情况下直接进行时间并添加15分钟(阅读zerkms评论):
$endTime = strtotime($selectedTime) + 900; //900 = 15 min X 60 sec
尽管如此,这是这里的主要问题。)
虽然你可以通过PHP的时间函数做到这一点,但让我向你介绍一下PHP的类,它与它的相关类一起,确实应该出现在任何PHP开发人员的工具包中。DateTime
// note this will set to today's current date since you are not specifying it in your passed parameter. This probably doesn't matter if you are just going to add time to it.
$datetime = DateTime::createFromFormat('g:i:s', $selectedTime);
$datetime->modify('+15 minutes');
echo $datetime->format('g:i:s');
请注意,如果您要做的基本上是提供12或24小时的时钟功能,则可以添加/减去时间,而实际上并不关心日期,因此您希望消除有关夏令时更改的可能问题,我建议使用以下格式之一:
!g:i:s
12 小时格式,小时无前导零
!G:i:s
带前导零的 12 小时格式
按格式记下项目。这会将日期组件设置为 Linux 时代的第一天 (1-1-1970)!