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');

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...