1

ラテで現在の日 (date('z')) から日数 (timestamp|date'z') を減算するにはどうすればよいですか? var を使用しようとしましたが、書式設定 (z) が気に入りません。

4

1 に答える 1

1

Latte フィルターは、関数呼び出しとは異なり、式のどの部分にも適用できるものではありません。変数印刷マクロのオプション機能にすぎません。

{expression_to_be_printed|filter1|filter2|filter3}

dateほとんどのフィルターはメソッドを呼び出すformatだけなので、直接使用できます。

{(new DateTime())->format('z') - $timestamp->format('z')}

$timestampただし、嘘が別の年にある場合、これは機能しません。これを修正するには、DateTimediffメソッドを使用できます。DateIntervalメソッドによって返される は、フォーマット文字列formatによって日数の違いを提供するメソッドを使用してフォーマットでき%aます。

{$timestamp->diff(new DateTime())->format('%a')}

幸いなことに、このdateフィルタでは間隔の書式設定も可能です。

{$timestamp->diff(new DateTime())|date:'%a'}

確かに、これは見栄えが悪いです。より良い方法は、カスタム フィルターを定義して、 を使用できるようにすることです{$post->timestamp|daysAgo}。独自のフィルターの作成については、 Latte のドキュメントを参照してください。

于 2017-01-18T16:14:04.833 に答える