[英]How to format the date in PHP and SQL?
我的一个表中有一个名为“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
将数据库字段更改为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']));
$today = date("Y-m-d");
这是插入MySQL的正确格式。
如果publicationDate
列的类型为DATE
(它应该是真的),则需要以MySql识别的格式之一格式化日期,而不是人类可读的字符串。
其中,最常见的是date("Ymd")
或date("Ymd")
如果你喜欢连字符。
请改用它
$today = date("Y-m-d");
MySQL日期仅存储日期而不是YYYY-MM-DD等时间
如果您还想存储时间,可以使用DATETIME字段:YYYY-MM-DD HH:MM:SS或者您可以将时间戳存储为字符串。
该值应为字符串,格式为MySQL的格式:Ymd。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.