比较流体中的DateTime

时间:2013-03-21 14:45:43

标签: typo3 fluid extbase

我想将dateTime对象与今天的日期进行比较。

这是我的约会对象

<f:format.date format="d.m.Y - H:i:s">{article.validFrom}</f:format.date>

如果日期对象大于当天,我想提出一个条件。我会做点什么。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

使用format="U"将日期转换为unix时间戳并进行比较。您需要添加一个包含当前日期的变量。

在你的控制器中添加

$this->view->assign('date_now', new DateTime());
// or for TYPO3 >= 6.2
$this->view->assign('date_now', new \DateTime());

然后在您的模板中使用以下

<f:if condition="{f:format.date(date: article.validFrom, format: 'U')} > {f:format.date(date: date_now, format: 'U')}">
    Date is valid
</f:if>

修改 另一种方式(我认为是更好的方法)是为模型添加一个新方法来检查它。例如:

类别/域/型号/ Article.php

class Article extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

    /**
      * @return boolean
      */
    public function getDateIsValid() {
        return ($this->getValidFrom() > new DateTime());
    }

}

然后你可以简单地使用

<f:if condition="{article.dateIsValid}"></f:if>