我在cakephp 3工作,我想以Y-m-d格式打印我的时间对象。
这是我的对象
'expiry' => object(Cake\I18n\Time) {
'time' => '2015-07-31T00:00:00+0000',
'timezone' => 'UTC',
'fixedNowTime' => false
},
任何人都可以帮我吗?
答案 0 :(得分:10)
这个问题已经很老了,但这也让我很头疼。在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'
编辑2:
您可以在以下视图中引用它:
$this->Time->format($format);
答案 1 :(得分:4)
$object->created->format('Y-m-d')
答案 2 :(得分:0)
我做到了。我所要做的就是在我的视图中使用Time助手。
$this->Time->format($user->expiry,'Y-M-d')
。
答案 3 :(得分:0)
获取dt_updated小于当前日期的结果。
$result = $this->ModelTable->find('all');
$result->where(['DATE(dt_updated) <'=>date('Y-m-d')]);