我的一个表中有一个名为“publicationDate”的字段,它的数据类型是date
。但是,当我进行应显示今天日期的查询时,我遇到了如何格式化它的问题。它始终显示 0000-00-00
。
这是我的变量:
$today = date("F j, Y, g:i a");
这是我的查询:
$query = "INSERT INTO articles (summary, publicationDate) VALUES ('{$content}', '{$today}')";
我做错了什么?
最佳答案
试试这个:
$today = date("Y-m-d");
// 2011-09-24
您的字符串返回:
$today = date("F j, Y, g:i a");
// September 24, 2011, 6:39 am
编辑:
要保存日期和时间,您可以使用日期时间或时间戳:
$today = time(); // timestamp
将数据库字段更改为时间戳。
或
$today = date("Y-m-d H:i:s"); // datetime
将您的数据库字段更改为日期时间。
要从数据库中选择数据,您可以这样做:
$result = mysql_query("SELECT date FROM table");
$row = mysql_fetch_array($result);
// field is timestamp
echo date("F j, Y, g:i a", $row['date']);
// or
// field is datetime
echo date("F j, Y, g:i a", strtotime($row['date']));
关于php - 如何在 PHP 和 SQL 中格式化日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539350/