繁体   English   中英

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

[英]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']));

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

$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM