1

我正在尝试格式化 MySQL 格式化日期 (YYYY-MM-DD) 并希望显示月份和年份,例如“2012 年 9 月”。

我的代码:

<?php echo htmlspecialchars($row["date"], ENT_QUOTES, "UTF-8"); ?>

有谁知道我怎么能做到这一点?

4

6 回答 6

5

直接从 SQL 中以该格式选择它,例如

SELECT DATE_FORMAT(date, '%M %Y') AS formatted_date

或在 php 中执行(效率稍低):

$formatted = date('F Y', strtotime($row['date']));
于 2013-07-05T19:20:24.653 回答
1

你可以用DateTime你喜欢的方式来格式化你的日期:

$date = DateTime::createFromFormat('Y-m-d', $row["date"]);
echo htmlspecialchars($date->format('F Y'), ENT_QUOTES, "UTF-8");

所以像这样的日期:

$row['date'] = '2012-09-25';

将打印

September 2012 
于 2013-07-05T19:20:13.687 回答
1
echo date('F Y', strtotime($row['date']));
于 2013-07-05T19:20:31.517 回答
1

您可以使用日期时间:

$date = date_create($row["date"]);
echo date_format($date, 'F Y');
于 2013-07-05T19:21:38.570 回答
0

你需要使用 SQL 函数DATE_FORMAT (date, format)

看到这个链接 http://www.w3schools.com/sql/func_date_format.asp

于 2013-07-05T19:20:28.030 回答
0

如果要将其保存为要多次使用的新变量:

$datetime = strtotime($row['date']);
$mysqldate = date("M d ", $datetime);
echo $mysqldate; 
于 2013-07-05T19:20:42.830 回答