2

dateTime オブジェクトを今日の日付と比較したい。

これは私の日付オブジェクトです

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

日付オブジェクトが当日よりも大きいかどうかを条件にしたい。私は何かをします。

誰でも私を助けることができますか?

4

1 に答える 1

2

を使用して日付をUNIXタイムスタンプに変換し、format="U"それらを比較します。現在の日付を含む変数を追加する必要があります。

コントローラに追加します

$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>
于 2013-03-21T18:24:17.157 に答える