gpt4 book ai didi

php - DateTime::createFromFormat 没有按我想要的方式工作

转载 作者:行者123 更新时间:2023-12-02 04:30:07 26 4
gpt4 key购买 nike

我的日期格式如下:2014 年 5 月 21 日星期三。

为了将此日期保存在数据库中,我尝试将其转换为日期时间,如下所示:

$f['date'] = $_POST['date'];
$date = DateTime::createFromFormat('l, j F, Y', $f['date']);
$date = $data->format('Y-m-d H:i:s');

然后我将 $date 插入我的数据库中,并且工作正常,日期像数据库中的日期时间一样保存。

但现在我想显示日期,所以我想再次转换它,格式如下:“Wednesday, 21 May, 2014”。

为此,我进行选择,然后再次使用 DateTime::createFormat 将日期从日期时间转换为我的“文本格式”:

$readNews = $pdo->prepare("SELECT * FROM news");
$readNews->execute();
while ($readNewsResult = $readNews->fetch(PDO::FETCH_ASSOC))
{
$date = DateTime::createFromFormat('l, j F, Y', $readNewsResult['date']);
..... //here I have more echos showing title of the news, etc
echo '<span class="date">'.$date.'</span>';
}

我遇到的问题是它没有出现的日期......

你看到我在这里做错了什么了吗?

最佳答案

这里不需要DateTime::createFromFormat()。仅当您的日期格式是 PHP 无法理解的时,您才需要使用 DateTime::createFromFormat() 。您已经有了 DateTime() 可以处理的格式。

因此,您需要做的就是在打印时更改格式,您将使用 DateTime::format()用于:

$date = new DateTime($readNewsResult['date']);
echo '<span class="date">'.$date->format('l, j F, Y').'</span>';

关于php - DateTime::createFromFormat 没有按我想要的方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23793515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com