Nette 如何从当前日期中减去时间戳
Nette how to subtract timestamp from current date
如何在拿铁咖啡中从当天(日期('z'))中减去天数(时间戳|日期'z')?我尝试使用 var 但不喜欢格式 (z)。
Latte 过滤器与函数调用不同,它不能应用于表达式的任何部分 – 它们只是变量打印宏的可选功能。
{expression_to_be_printed|filter1|filter2|filter3}
date
过滤器主要是 calls format
method 所以你可以直接使用它:
{(new DateTime())->format('z') - $timestamp->format('z')}
但是,如果 $timestamp
属于不同的年份,这将不起作用。
要解决此问题,您可以使用 DateTime
的 diff
method. DateInterval
, returned by the method, can then be formatted using format
方法,该方法通过 %a
格式化字符串提供天数差异。
{$timestamp->diff(new DateTime())->format('%a')}
幸运的是,date
过滤器还允许格式化间隔。
{$timestamp->diff(new DateTime())|date:'%a'}
不可否认,这看起来有点丑。更好的方法是定义一个自定义过滤器,这样您就可以只使用 {$post->timestamp|daysAgo}
。请参阅 Latte docs 关于创建您自己的过滤器。
如何在拿铁咖啡中从当天(日期('z'))中减去天数(时间戳|日期'z')?我尝试使用 var 但不喜欢格式 (z)。
Latte 过滤器与函数调用不同,它不能应用于表达式的任何部分 – 它们只是变量打印宏的可选功能。
{expression_to_be_printed|filter1|filter2|filter3}
date
过滤器主要是 calls format
method 所以你可以直接使用它:
{(new DateTime())->format('z') - $timestamp->format('z')}
但是,如果 $timestamp
属于不同的年份,这将不起作用。
要解决此问题,您可以使用 DateTime
的 diff
method. DateInterval
, returned by the method, can then be formatted using format
方法,该方法通过 %a
格式化字符串提供天数差异。
{$timestamp->diff(new DateTime())->format('%a')}
幸运的是,date
过滤器还允许格式化间隔。
{$timestamp->diff(new DateTime())|date:'%a'}
不可否认,这看起来有点丑。更好的方法是定义一个自定义过滤器,这样您就可以只使用 {$post->timestamp|daysAgo}
。请参阅 Latte docs 关于创建您自己的过滤器。