php - 将 STR_TO_DATE 格式化为日期

标签 php mysql string date

您好,我已经能够使用 string_to_dateVARCHAR 提取到日期,但是无论我尝试什么,日期总是回显,例如2009-05-25
这是我的有效代码:

$query = "SELECT u.url_id, url, title, description, STR_TO_DATE( pub_date, '%d-%b-%Y') 
    AS pub_date FROM urls AS u, url_associations AS ua WHERE u.url_id = ua.url_id AND
    ua.url_category_id=$type AND ua.approved = 'Y' ORDER BY pub_date DESC";
$result = mysql_query ($query);
echo "  <tr>
<td align=\"left\">{$row['pub_date']}</td>
</tr>\n";

我已经尝试过 DATE_FORMAT 和类似的方法,但我收到的不是 2009-05-25 就是空白。 谁能帮我解决这个问题。我正在寻找和测试,但我决定在这里寻求帮助,因为欢迎提供帮助,之前提供帮助的人也非常友善。

谢谢

肖恩

最佳答案

STR_TO_DATE 的返回类型是 DATE 返回给 PHP

PHP 在您的 echo 中格式化日期,而不是 MySQL

要在 MySQL 端进行格式化,请使用:

DATE_FORMAT(STR_TO_DATE( pub_date, '%d-%b-%Y'), '%Y.%m.%d')

或其他格式。

内部格式控制字符串在数据库中的存储方式,外部格式控制字符串的输出方式。

要在 PHP 端进行格式化(这样更好,因为您可以为不同的用户提供特定于文化的格式),请使用:

echo date('Y m d', strtotime($row['pub_date']))

关于php - 将 STR_TO_DATE 格式化为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/889381/

相关文章:

php - 像 Stackoverflow 这样的搜索词结果中的标签定义

php - 日期错误解决方案

c++ - 从 char* 初始化 std::string 而不复制

java - 从文件中拆分字符串

ruby - 是否有一种算法可以在小于 O(n^2) 复杂度的情况下确定列表中项目的适当子集?

php - 如何为 VS Code 中删除的 mysql_* 函数添加智能感知

php - 有条件的按计数排序

php - 如何避免此 PDO 异常 : Cannot execute queries while other unbuffered queries are active

php - SSL23_GET_SERVER_HELLO :sslv3 alert handshake failure Paypal adaptive payment

PHP SQL 每个代码显示一行