0

我将日期作为日期时间保存在我的数据库中(例如 2013-09-23 15:00:00)。

当我创建一个对象时,我将此日期称为

$event->start

当我只是回显它时,我得到了正确的值,但它是一个字符串,不再是日期时间。这就是为什么这不起作用:

date_format('d-m-Y', $event->start)

要使用 date() 我需要一个我没有的时间戳。什么是可能的解决方案?

我试过这个:

date_format(strtotime($event->startdate), 'd-m-Y')

但仍然得到 'Date_format() 期望参数 1 是 DateTime'

解决方案

$dt = new DateTime($event->start);
echo $dt->format('d-m-Y');
4

3 回答 3

2

看看strtotime(),它将为您提供一个来自人类可读的模糊日期字符串的时间戳。然后您可以在date_format通话中使用它,例如

$ts = strtotime($event->start);

if($ts !== FALSE)   // !== -1 in versions of PHP prior to 5.1.0
    $date = date_format("d-m-Y", $ts);
于 2013-09-28T08:13:13.700 回答
0

为此使用strtotime()

试试这个代码。

$date = $event->start;
$my_date = date('d-m-Y', strtotime($date));
echo $my_date;
于 2013-09-28T08:16:39.763 回答
0

用于strtotime从字符串中获取日期时间

试试这个

echo date('d-m-Y', strtotime($event->start))

于 2013-09-28T08:15:39.537 回答