gpt4 book ai didi

液体模板过滤器中的日期数学/操作

转载 作者:行者123 更新时间:2023-12-03 11:47:24 28 4
gpt4 key购买 nike

我正在 Desk.com 中构建一个“集成 URL”,它使用 Shopify Liquid 模板过滤器语法。对于开始日期为 7 天前而结束日期为现在的查询,此 URL 需要包含“开始日期”和“结束日期”。

为了实现这一点,我认为我需要从“现在”对象中减去 7 天(纪元时间为 604800),然后应用我的格式,但我无法找出有效的语法。

目前,此语法有效且有效:

{{'now' | date: "%b %d, %Y %I:%M %p -0500" | uri_encode | replace:"+","%20"}}

7 天前,这是我能想到的最好的方法(不起作用):
{{'now' | minus : 604800 | date: "%b %d, %Y %I:%M %p -0500" | uri_encode | replace:"+","%20"}}

关于 Liquid 中“7 天前”的有效语法的任何建议?非常感谢任何建议!

最佳答案

非常感谢 @iveskev来自 Desk.com “WOW”团队的回答:

如果你这样做 {{'now'}}它返回字符串“now”而不是当前时间的时间戳。所以如果你这样做 {{'now' | minus: 604800 }}它返回“-604800”而不是当前的 unix 时间减去 604800。当你使用 date 时过滤器,然后液体接收到您正在引用当前时间并将时间输出为字符串。然而,即使我们使用“now”来输出当前日期,我们仍然在从字符串中减去,因此将返回“-604800”。字符串上的数学运算正确工作的唯一时间是刺是否只是一个数字。

因此,为了获得正确的日期,我们首先必须暂时获得 unix 时间戳,进行减法运算,然后重新格式化为所需的格式。您可以使用 %s获得unix时间。因此,要在 unix 中获取当前时间,它将是:{{'now' | date: '%s' }}
此时,您可以进行减法运算,然后以正确的方式格式化时间。我们可以在以下语句中一次性完成所有这些操作:
{{'now' | date: "%s" | minus : 604800 | date: "%b %d, %Y %I:%M %p -0500" | uri_encode | replace:"+","%20"}}

关于液体模板过滤器中的日期数学/操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056965/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com