Php Time()不使用PDO

Php Time()不使用PDO,php,date,pdo,Php,Date,Pdo,我已经试着让这个代码工作了大约半个小时,但就我的一生而言,我做不到。我已经能够响应时间,但是当我尝试将它实现到我的PHP解析器中时,它只返回所有0。我尝试了许多不同的方法,但代码只反映了我尝试过的一种方法 date_default_timezone_set('America/Los_Angeles'); $date = date("m/d/Y h:i:s a", time()); $dbh = new PDO('mysql:host=localhost;dbname=x'

我已经试着让这个代码工作了大约半个小时,但就我的一生而言,我做不到。我已经能够响应时间,但是当我尝试将它实现到我的PHP解析器中时,它只返回所有0。我尝试了许多不同的方法,但代码只反映了我尝试过的一种方法

    date_default_timezone_set('America/Los_Angeles');
    $date = date("m/d/Y h:i:s a", time());
    $dbh = new PDO('mysql:host=localhost;dbname=x', 'x', 'x');
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $dbh->prepare("INSERT INTO zzz (x, x1, x2, reply_date) VALUES (:x, :x1, :x2, :date1)");
    $stmt->bindParam(':x', $_POST['yyy']);
    $stmt->bindParam(':x1', $_POST['qqq']);
    $stmt->bindParam(':x2', $_POST['ppp']);
    $stmt->bindParam(':date1', $date);
    $stmt->execute();

如果您的
reply\u date
列是DateTime列,则必须确保传入的日期。否则,将插入0000-00-00:00:00作为日期

但是,如果要插入当前时间,只需从

INSERT INTO zzz (x, x1, x2, reply_date) VALUES (:x, :x1, :x2, :date1)

这样就可以了。然后,当您从数据库获取该日期时,您可以轻松地将该日期格式化为PHP中所需的任何格式,例如

$dt = new DateTime($row['date']); 
echo $dt->format('m/d/Y h:i:s a') 
或程序方式:

echo date('m/d/Y h:i:s a', strtotime($row['date']);
如果您需要时区,请查看:


非常感谢。你真的帮了大忙。
echo date('m/d/Y h:i:s a', strtotime($row['date']);