如何通过 Timber library/WordPress 在 Twig 中输出本地时间?

How do I output the local time in Twig via Timber library/WordPress?

我将 Timber Library 与我正在开发的自定义 Wordpress 主题一起使用,并且在输出本地时区的日期时遇到了极大的挑战?我将 WordPress 设置为 UTC -4:00,这是我的东部 (DST) 时区,但 {{ "now"|date("F jS \a\t g:ia") }} 一直在 2:26pm 输出 7 月 10 日,它唯一的 10:22am 是 4 小时! ..所以由于某种原因它没有得到我的 WordPress 设置。我想我可以将其抵消 -4 小时。但我不想在我的代码中这样做,因为我希望用户传递一个我将存储在变量中的值,因此它适用于不同的时区!

我在这方面还很陌生,所以需要一些明确的解释 :) 这是我想做的 - 要么在适当的时候使用 WordPress 设置,要么传入这样的变量:

// Customer set his own time zone, now we pass into variable
{{ set timezone = options.local_timezone }}
{{ set timenow = "now"|date("F j, S", "timezone" }}

{% if condition if post.product.sale_date >= timenow %}
  {# Then run some code and display product #}
{% else %}
  We are planning to selling this item at post.product.sale_date|date("F j, S", "timezone" }}
{% endif %}

~感谢您的帮助!

Wordpress 的最新版本更改了处理日期的方式,现在将环境时区设置为始终为 UTC,而不管管理员中的设置如何。然后它会使用管理中的设置在显示天数时应用偏移量,只要您使用 wp_date 函数即可。

在这种情况下,你最好依靠 wp_date 而不是与之抗争 - 所以要么将所需的字符串添加到你的上下文中,要么 运行 twig 中的函数。

{{ fn('wp_date', 'F jS \a\t g:ia') }}

这将根据 Wordpress 中的时间设置进行输出。