2017-01-26 43 views
0

私はタイムスタンプに基づいて年齢を計算しようとしています。 Typoscriptで761353200。タイムスタンプ761353200私はのTypoScriptへの流体テンプレートからデータを送信しています2月16日1994typoscriptで年齢を計算する

ある:

<f:cObject typoscriptObjectPath="lib.userAge"> 
    <f:format.date format="U">{user.dateOfBirth}</f:format.date> 
</f:cObject> 

{user.dateOfBirth}が、この場合に761353200に等しいです。

のTypoScriptの計算は次のようになります。

lib.userAge = TEXT 
lib.userAge.current = 1 
lib.userAge.age = 1 

問題:返される値は23ですが、22

私は別のタイムスタンプ(556408800)でそれを試してみましたが、このする必要があります29を返します。これは私には絶対に混乱しています。

誰かがなぜ計算がそのように振る舞うか考えていますか?

答えて

3

変換があまりにも不正確になると思います。 typoscriptを使用しないで、流動的なビューヘルパーを使用してみませんか?だからコードは維持する方が良いです。 このViewHelperが見つかりました。拡張機能やテンプレートにコピーして統合できますか? https://searchcode.com/codesearch/view/39628010/

+0

なぜ私はそれを考えなかったのですか。ありがとう。あなたのリンクされたViewHelperは実際には多すぎました。私の場合、これは今のように見え、十分です。 'public function render($ timestamp){ $ inputDate = date( 'Y-m-d H:i:s'、$ timestamp); $ returnDate = intval(date( 'Y'、time() - strtotime($ inputDate))) - 1970; return $ returnDate; } ' – Andreas

関連する問題