format.date 输出错误

问题描述 投票:0回答:1

我正在尝试更新一个旧的简单扩展,它有一个日期字段(在数据库中输入“日期”)。日期在数据库中保存为“2024-09-05”。

在流体模板中,我有类似的内容:

<f:format.date format="d.m.Y">{foo.startdate}</f:format.date>

我在 TYPO3 11 中工作正常(输出如 05.09.2024),但在 TYPO3 12 中,所有日期的输出均为 01.01.1970。

有人知道该怎么做吗? 谢谢!

typo3 fluid
1个回答
0
投票

这解决了我的问题:

  1. 将开始日期的字段类型从 date 更改为 int(11) unsigned DEFAULT '0' NOT NULL
  2. 将值从 date (2024-09-07) 转换为 timestamp
  3. 更新该字段的 TCA

像这样:

'startdate' => [
    'exclude' => true,
    'label' => 'LLL:EXT:myextension/Resources/Private/Language/locallang_db.xlf:myextension.startdate',
   'config' => [
        'type' => 'datetime',
        'default' => 0,
        'behaviour' => [
            'allowLanguageSynchronization' => true,
        ],
    ],
],

您可以使用“Select UNIX_TIMESTAMP(startdate), uid FROM mytable;”要获取时间戳值,请使用该数据更新值:“Update mytable SET startdate=1529186411 WHERE uid =123;”。可能有更好的方法来做到这一点!

© www.soinside.com 2019 - 2024. All rights reserved.