typo3 - 比较流体中的日期时间

标签 typo3 fluid extbase

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

这是我的日期对象

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

我想设定一个条件,如果日期对象大于当前日期。我会做一些事情。

有人可以帮我吗?

最佳答案

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

在您的 Controller 中添加

$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>

关于typo3 - 比较流体中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550687/

相关文章:

arrays - TypoScript:如果为空则覆盖 COA

html - 将 div 固定为流动 div

ajax - 如何将 AJAX 参数传递给 extbase 操作?

typo3 - 如何使用 Fluid 呈现页面内容

typo3 - 我如何使用 FLUX 创建一个类似于 TYPO3 原生图像内容类型的图像选择字段?

typo3 - 将 TYPO3 extbase storagePageIds/storagePid 设置为当前

typo3 - 什么是 "Fluid powered TYPO3",推荐吗?

需要 CSS Column Divs 帮助

typo3 - 在 TYPO3 Extbase 查询中使用 Concat

typo3 - 在 Extbase 6.2 中,列表页面不再使用 uid