使用 PDO PHP MYSQL 计算日期和时间

我无法获取日期时间数据类型的时间。我确实获取了日期,但无法获取时间并使用 PDO PHP 插入数据库。在以下代码中需要做什么才能获取时间和日期。我尝试使用 H:i:s 但它插入的数据为 1970-01-01 00:00:00


输入的日期格式为08/31/2020 - 05:04 pm


我正在寻找日期和时间(小时和分钟)。


$dp = date_create_from_format('m/d/Y',$_POST['dp']);



//CHECKS VALUE

$stmt->bindValue(':dp', $dp->format('Y-m-d'), PDO::PARAM_STR);



//GETTING POST VALUES

$dp=$_POST['dp'];

$dp = date('Y-m-d', strtotime($dp));



//BINDING PARAMETERS

$query->bindParam(':dp', date('Y-m-d', strtotime($dp)));

注意:以上所有代码都可以很好地处理获取和插入日期,但不适用于日期和时间。


动漫人物
浏览 111回答 1
1回答

慕标5832272

有两个问题:您的输入字符串的格式不寻常。因此,您需要使用DateTime::createFromFormat方法使用正确的格式字符串来解析它(strtotime()无法完成这项工作)。您的输出格式缺少时间部分 - 您需要在字符串中添加小时(24 小时格式)、分钟和秒。这是一个工作示例:$dp = DateTime::createFromFormat("m/d/Y - H:i a", $_POST["dp"]); $dpstr = $dp->format('Y-m-d H:i:s'); $query->bindParam(':dp', $dpstr);假设$_POST["dp"]包含"08/31/2020 - 05:04 pm"则将$dpstr是2020-08-31 17:04:00。演示:http://sandbox.onlinephpfunctions.com/code/b4cc0988c4eee60061502d86f38eccfc97aa9a49
打开App,查看更多内容
随时随地看视频慕课网APP