Cakephp 3在frozentime对象中提供日期和时间字段

hts6caw3  于 2022-11-12  发布在  PHP
关注(0)|答案(4)|浏览(142)

我正在使用cakephp 3.2,当我通过查找查询检索数据时,它会以这种格式给出日期字段

Array
(
[0] => Cake\I18n\FrozenDate Object
    (
        [date] => 2016-08-01 00:00:00
        [timezone_type] => 3
        [timezone] => UTC
    )
)

和时间字段

Cake\I18n\FrozenTime Object
(
 [date] => 2016-10-11 10:00:00
 [timezone_type] => 3
 [timezone] => UTC
)

我需要一个通用的设置或完整的网站全局解决方案。所以当我从数据库中通过查找查询获取数据时,它应该给予我简单的格式,没有任何frozendate对象的日期时间。
就像这样

Array(
 [0] => 2016-08-01
)
agxfikkp

agxfikkp1#

只需对Cake\I18n\FrozenDate对象调用->format('Y-m-d')即可。
不需要Cake\I18n\FrozenDate::setToStringFormat()$this->Time->format()

5anewei6

5anewei62#

您也可以使用TimeHelperView中格式化日期时间

示例

echo $this->Time->format(
  $YourDateTimeVariable, #Your datetime variable
  'Y-MM-d'               #Your custom datetime format
);

CakePHP TimeHelper函数的详细信息在这里

dbf7pr2w

dbf7pr2w3#

在boostrap.php中添加

Cake\I18n\FrozenDate::setToStringFormat('yyyy-MM-dd');

它仍然带有相同参数的forzenDate对象,但当您在视图中打印时,它将打印正确的格式

echo $var->created;  // print: 2016-08-01

日期日期时间格式语法参考

mzmfm0qo

mzmfm0qo4#

您可以使用内置的i18nFormat函数,以任何自定义的日期格式直接打印日期对象。

$frozenDateObj->i18nFormat('dd-MMM-yyyy');

使用datetime语法参考进行更多自定义

相关问题