以 Y-m-d 格式转换 cakephp 3 的时间对象

Convert time object of cakephp 3 in Y-m-d format

我在 cakephp 3 中工作,我想以 Y-m-d 格式打印我的时间对象。

这是我的对象

'expiry' => object(Cake\I18n\Time) {
        'time' => '2015-07-31T00:00:00+0000',
        'timezone' => 'UTC',
        'fixedNowTime' => false
},

谁能帮我解决这个问题?

$object->created->format('Y-m-d')

我做到了。我所要做的就是在我看来使用时间助手。 $this->Time->format($user->expiry,'Y-M-d').

在 Cakephp 3.* 中,您使用 Time::i18nFormat() 方法。它对我有用

  $customformat = $date->i18nFormat('YYY-MM-dd');

编辑:

我查看了 3.3 文档并找到了这个很好的例子。您可以使用常量来格式化常见用例的日期,例如 Time::UNIX_TIMESTAMP_FORMAT\IntlDateFormatter::FULL

$time = new Time('2014-04-20 22:10');
$time->i18nFormat(); // outputs '4/20/14, 10:10 PM' for the en-US locale
$time->i18nFormat(\IntlDateFormatter::FULL); // Use the full date and time format
$time->i18nFormat([\IntlDateFormatter::FULL, \IntlDateFormatter::SHORT]); // Use full date but short time format
$time->i18nFormat('yyyy-MM-dd HH:mm:ss'); // outputs '2014-04-20 22:10'
$time->i18nFormat(Time::UNIX_TIMESTAMP_FORMAT); // outputs '1398031800'

CakePHP documentation

编辑 2:

也看看time helper class

您可以像这样在视图中引用它:

$this->Time->format($format);

获取 dt_updated 小于当前日期的结果。

$result = $this->ModelTable->find('all');
$result->where(['DATE(dt_updated) <'=>date('Y-m-d')]);