【问题标题】:Format STR_TO_DATE to a date将 STR_TO_DATE 格式化为日期
【发布时间】:2009-05-20 18:05:44
【问题描述】:

您好,我已经能够使用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 或空白。 谁能帮我解决这个问题。我正在寻找和测试,但我决定在这里寻求帮助,因为我们欢迎帮助,而且以前帮助过的人都很友善。

谢谢

肖恩

【问题讨论】:

  • 我了解(我认为)您想以 MySQL 默认格式以外的格式输出日期?如果是这样,则 DATE_FORMAT() 是要使用的正确函数。你想要什么格式?展示您如何使用 DATE_FORMAT() 并没有给出预期的结果。

标签: php mysql string date


【解决方案1】:

STR_TO_DATE的返回类型为DATE,返回到PHP

echo 中格式化日期的是PHP,而不是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']))

【讨论】:

  • 非常感谢 Quassnoi,现在日期显示正确。我将添加代码,以便其他人可以看到您的建议是否适合。再次感谢您,我非常感谢您。肖恩
  • 我已经尝试“回答您的问题”来回答我的问题,但没有任何乐趣。如果有人想回答这个问题 - 我的日期选择器是 jason 的 js 日历,请发送电子邮件至 sean@mediamice.net。谢谢 Annath 和 Zombat,如果没有您的初步指导,我将无路可走。 Quassnoi 是在拼图中添加了缺失的部分并且应该为解决方案而不是旅程而受到赞誉的人。您的意见既宝贵又热情。结果可以在这里看到 - mediamice.net/STR_TO_DATE/html/index.php 链接是添加新闻提要并查看所有新闻提要/客户。谢谢x
【解决方案2】:

来自this reference site以下是mysql命令和输出

mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
        -> 'Sunday October 2009'
mysql> SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s');
        -> '22:23:00'
mysql> SELECT DATE_FORMAT('1900-10-04 22:23:00',
    ->                 '%D %y %a %d %m %b %j');
        -> '4th 00 Thu 04 10 Oct 277'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
    ->                 '%H %k %I %r %T %S %w');
        -> '22 22 10 10:23:00 PM 22:23:00 00 6'
mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
        -> '1998 52'
mysql> SELECT DATE_FORMAT('2006-06-00', '%d');
        -> '00'

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多