是否有方法将输入时间字符串(ex:01:13)转换为Zend对象,以便稍后将其存储在Mysql数据库中的时间戳列中。
示例:
如果当前的日期时间是2013-07-15 17:33:07,并且用户输入18:05,那么输出应该是2013-07-15 18:05:00。
如果当前的日期时间是2013-07-15 17:33:07,并且用户输入02:09,那么输出应该是2013-07-16 02:09:00。注意到,由于输入的时间低于当前时间,所以它被视为明天的时间。
我只想得到满足输入时间的下一个时间点。我对使用普通PHP或Zend_Date的解决方案开放。
发布于 2013-07-15 21:45:52
我认为您应该将当前时间与用户输入的时间进行比较,并创建一个“今天”或“明天”的DateTime对象。DateTime接受strtotime()相对时间参数。
快黑。截至今日,2013年7月15日23:58当地时间:
$nextTime = new DateTime('today 18:10');
if ($nextTime < new DateTime('now')) { // DateTime comparison works since 5.2.2
$nextTime = new DateTime('tomorrow 18:10');
}
echo $nextTime->format('d.m.Y H:i:s');发布于 2013-07-16 11:57:37
下面是工作示例,您只需添加动态变量来检查用户输入的日期
您可以使用mktime函数来管理您的约会。
$input_date = date("Y-m-d H:i:s",mktime(18,05,0,date("m"),date("d"),date("Y")));
echo "current time".$current_time = date('Y-m-d H:m:s');
echo "<br>User input is ".$input_date;
if(strtotime($current_time) > strtotime($input_date)){
$input_date = date("Y-m-d H:i:s",mktime(18,05,0,date("m"),date("d")+1,date("Y")));
echo "in";
}else{
// nothing to do
}
echo "<br> result->".$input_date;我希望它能解决你的问题
https://stackoverflow.com/questions/17664424
复制相似问题