symfony - 在 Twig 中本地化日期间隔

标签 symfony twig

我有一个实体方法返回一个 PHP DateInterval之间DateTime此实体的属性和现在,以了解在此日期时间之前还剩多少时间。

我想在 Twig 中显示这个间隔,所以我使用了类似的东西:

{{ myEntity.getTimeRemaining | date("%D days %H Hours %i Mins ") }}

它工作正常。

现在,我如何本地化这种格式? (并最终考虑复数)
我找到了 transchoice方法,但似乎只是本地化日期,而不是时间间隔。

最佳答案

您可以使用 KnpTimeBundle

我认为这个包可以简化您的实现,因此您可以直接转储现在之间的时差,而无需通过 DateInterval,您可以简单地使用当前日期:

{# Returns something like "3 minutes ago" #}
{{ time_diff(myEntity.getMyTimeField) }}

这与另一个日期比较:
{# Returns something like "3 minutes ago" #}
{{ time_diff(myEntity.getMyTimeField , to ) }}

默认情况下启用翻译,只需查看翻译文件或根据需要添加。

希望这有帮助

关于symfony - 在 Twig 中本地化日期间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29334584/

相关文章:

Symfony - fatal error : Uncaught exception 'Twig_Error_Loader'

jquery - 从图表中删除 Highchart.com 链接

javascript - 在 jquery 和 twig 中使用 if

symfony - Webpack Encore - $ 未定义

php - Symfony 4 "Connection refused"尝试连接到 docker mysql 容器

css - Symfony2 Twig 模板 - CSS 未加载

php - 如何在 opencart 主题中更改 .twig 中的代码

serialization - JMSSerializerBundle。无法控制第三方元数据

mysql - 在 Symfony2 中仅使用今天的日期和月份从 MySQL 数据库中检索记录

php - Symfony swift_mail : send to multiple address but only display one address per email