微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php strtotime忽略小时,分钟,秒

我有一个约会时间是从3月15日星期六12:00 PM的格式中选择的,纯粹出于审美原因. PHP strtotime函数将此转换为(并且很可能如此):1394866800.

但是,当我为数据库准备时间时,$db_time = date(‘Y-m-d H:i:s’,$time_req);我得到2014-03-15 00:00:00.有没有办法让我的视觉时间显示保持吸引力,但在MysqL数据库中输入正确的格式?

解决方法:

问题在于您的输入采用非标准格式,因为时间是第一位,然后是星期几,然后是月份和月份.您需要告诉PHP如何解释这一点.

您可以使用date_create_from_format,如下所示:

$formatted_date = '12:00 PM Sat Mar 15';
// to use your POST data, use $formatted_date = $_POST['time_req'];
echo date_create_from_format('H:i A D M j', $formatted_date)->format('Y-m-d H:i:s');

输出

2014-03-15 12:00:00

注意:上面是@TimeBaker在注释中指出的方法DateTime :: createFromFormat的单行程序版本.您也可以这样做:

$formatted_date = '12:00 PM Sat Mar 15';
// to use your POST data, use $formatted_date = $_POST['time_req'];

// create an object
$mydate = DateTime::createFromFormat('H:i A D M j', $formatted_date);
// invoke the format method
echo $mydate->format('Y-m-d H:i:s');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐