在 Twig 中本地化日期间隔
Localize dateinterval in Twig
我有一个实体方法在这个实体的 DateTime
属性 和现在之间返回 PHP DateInterval
,以了解在此日期时间之前还剩多少时间.
我想在 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 ) }}
默认情况下启用翻译,只需查看翻译文件或根据需要添加。
希望对您有所帮助
我有一个实体方法在这个实体的 DateTime
属性 和现在之间返回 PHP DateInterval
,以了解在此日期时间之前还剩多少时间.
我想在 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 ) }}
默认情况下启用翻译,只需查看翻译文件或根据需要添加。
希望对您有所帮助