如何格式化PHP和SQL中的日期?

cat*_*use 2 php mysql sql datetime date

我的一个表中有一个名为"publicationDate"的字段,其数据类型是date.但是,当我创建一个应该显示今天日期的查询时,我遇到了如何格式化它的问题.它总是显示出来0000-00-00.

这是我的变量:

$today = date("F j, Y, g:i a");
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

$query = "INSERT INTO articles (summary, publicationDate) VALUES ('{$content}', '{$today}')";
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Sco*_*man 5

试试这个:

$today = date("Y-m-d"); 
// 2011-09-24
Run Code Online (Sandbox Code Playgroud)

你的字符串返回:

$today = date("F j, Y, g:i a");
// September 24, 2011, 6:39 am
Run Code Online (Sandbox Code Playgroud)

编辑:

要保存日期和时间,您可以使用日期时间或时间戳:

$today = time(); // timestamp
Run Code Online (Sandbox Code Playgroud)

将数据库字段更改为时间戳.

要么

$today = date("Y-m-d H:i:s"); // datetime
Run Code Online (Sandbox Code Playgroud)

将数据库字段更改为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']));
Run Code Online (Sandbox Code Playgroud)

更多信息:http://at.php.net/manual/en/function.date.php