如何解决使用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)));
注意:以上所有代码都适用于获取和插入日期,但不适用于日期和时间。
解决方法
有两个问题:
-
您的输入字符串格式不正确。因此,您需要使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。