将PHP变量“11:00 AM”转换为MySQL时间格式

尝试将标准时间变量从表单输入转换为 MySQL INSERT可接受的TIME格式.我可能会把它全部弄错,并可以使用一些帮助.我已经阅读了MysqL TIME函数PHP TIME函数,但还没有找到解决方案.

以下是我尝试过的例子:

<?PHP
$time_input = '11:00 AM';

$strtotime = strtotime($time_input);

$MysqL_time = date('H:m:s',$strtotime);

echo "<p>time_input: $time_input</p>";
echo "<p>strtotime: $strtotime</p>";
echo "<p>MysqL_time: $MysqL_time</p>";
?>

结果是将时间更改为11:08:00(不确定8分钟的来源):

time_input: 11:00 AM

strtotime: 1344438000

MysqL_time: 11:08:00

任何帮助深表感谢!

DateTime将为您做到这一点:
$time_input = '11:00 AM';
$date = DateTime::createFromFormat( 'H:i A',$time_input);
$formatted = $date->format( 'H:i:s');

我通常在可能的情况下避免使用strtotime(),因为它可能有点不可预测.

你可以在this demo看到它的工作原理.

相关文章

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