为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
动漫人物 2023-11-03 21:33:14
我无法获取日期时间数据类型的时间。我确实获取了日期,但无法获取时间并使用 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)));注意:以上所有代码都可以很好地处理获取和插入日期,但不适用于日期和时间。
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

有两个问题:

  1. 您的输入字符串的格式不寻常。因此,您需要使用DateTime::createFromFormat方法使用正确的格式字符串来解析它(strtotime()无法完成这项工作)。

  2. 您的输出格式缺少时间部分 - 您需要在字符串中添加小时(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"则将$dpstr2020-08-31 17:04:00

演示:http://sandbox.onlinephpfunctions.com/code/b4cc0988c4eee60061502d86f38eccfc97aa9a49


查看完整回答
反对 回复 2023-11-03
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信