我有一个接收时间值的表单:
$selectedTime = $_REQUEST['time'];时间是这样的- 9:15:00 -也就是上午9:15。然后,我需要添加15分钟,并将其存储在一个单独的变量中,但我很困惑。
我正在尝试使用strtotime,但没有成功,例如:
$endTime = strtotime("+15 minutes",strtotime($selectedTime)));但那不能解析。
发布于 2013-12-13 00:51:04
您的代码无法工作(解析),因为您在最后有一个额外的),这会导致分析错误。数一下,你有2 (和3 )。如果您修复了它,它会很好,但是strtotime()会返回一个时间戳,因此要获得人类可读的时间,请使用date()。
$selectedTime = "9:15:00";
$endTime = strtotime("+15 minutes", strtotime($selectedTime));
echo date('h:i:s', $endTime);获得一个编辑器,该编辑器将语法突出显示并显示不匹配的括号、大括号等。
只需在没有任何TZ或DST的情况下直接完成时间,并添加15分钟(阅读零注释):
$endTime = strtotime($selectedTime) + 900; //900 = 15 min X 60 sec然而,)仍然是这里的主要问题。
发布于 2013-12-13 00:42:36
虽然您可以通过PHP的time函数来完成这个任务,但是让我向您介绍PHP的DateTime类,它与它的相关类一起,应该在任何PHP的工具箱中。
// 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)中的第一天。
发布于 2018-12-13 10:24:16
strtotime返回当前时间戳,date将格式化时间戳。
$date=strtotime(date("h:i:sa"))+900;//15*60=900 seconds
$date=date("h:i:sa",$date);这将使当前时间增加15分钟。
https://stackoverflow.com/questions/20557059
复制相似问题