0

嗨,伙计们,我有点卡住了我的 PHP 文件的 1 部分,我已经按照我需要的方式进行了所有其他设置,只是这一点我被卡住了

我有以下行设置

echo "<td align='left' valign='middle' bgcolor='" . $color . "'><font size='" . $fontsize . "'>" . $row['date'] . "</td>";

我想将其显示为一天,例如 02/06/2013 将显示为星期日而不是完整日期

我已经有

date_default_timezone_set('Europe/London');
4

5 回答 5

3

您可以使用 DateTime 类并对其进行格式化。

$date = new DateTime($row['date']);
echo $date->format('d/m/Y'); // will print 02/06/2013
echo $date->format('l'); // will print a day like Sunday

或者只使用日期函数:

echo date('d/m/Y', $row['date']); // will print 02/06/2013
echo date('l', $row['date']); // will print a day like Sunday

查看日期手册了解更多信息。

于 2013-06-02T11:57:23.783 回答
3

您可以使用date_format

$date = new DateTime($row['date']);
echo $date->format('l');

如果您的日期字符串没有被正确解析,您可以使用DateTime::createFromFormat

$date = DateTime::createFromFormat("m/d/Y", $row['date']);
echo $date->format('l');
于 2013-06-02T11:58:18.073 回答
1

使用DateTime::createFromFormat它更安全

echo DateTime::createFromFormat("d/m/Y","02/06/2013")->format("l");
于 2013-06-02T11:59:38.253 回答
0

您应该有一个包含日期名称的数组:

 $days = array(
                1 => 'Monday',
                2 => 'Tuesday',
                3 => 'Wednesday',
                4 => 'Thursday',
                5 => 'Friday',
                6 => 'Saturday',
                0 => 'Sunday');

并在 php 4 中使用函数$dw = date( "w", $timestamp); (周日返回 0,周六返回 6)

或函数$dw = date("N", $timestamp);( N 将返回 1 或星期一,星期天返回 7 )在 php 5 中(注意你的天数也在那里改变)

将您的 $dw 与您的元素数组进行比较并打印您想要的内容。使满意?

于 2013-06-02T12:04:56.047 回答
0

只需正确格式化您的日期:-

$date = \DateTime::createFromFormat('d/m/Y', $row['date']);
echo "<td>" . $date->format('l') . "</td>";
于 2013-06-02T11:59:54.477 回答