首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从时间字符串中获取日期

问从时间字符串中获取日期
EN

Stack Overflow用户
提问于 2013-07-15 21:39:37
回答 2查看 200关注 0票数 1

是否有方法将输入时间字符串(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的解决方案开放。

EN

回答 2

Stack Overflow用户

发布于 2013-07-15 21:45:52

我认为您应该将当前时间与用户输入的时间进行比较,并创建一个“今天”或“明天”的DateTime对象。DateTime接受strtotime()相对时间参数。

快黑。截至今日,2013年7月15日23:58当地时间:

代码语言:javascript
复制
$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');
票数 1
EN

Stack Overflow用户

发布于 2013-07-16 11:57:37

下面是工作示例,您只需添加动态变量来检查用户输入的日期

您可以使用mktime函数来管理您的约会。

代码语言:javascript
复制
$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;

我希望它能解决你的问题

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17664424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档