0

我在 Microsoft CRM 门户中使用液体。我想从日期中获取秒数,然后对它们进行一些操作,但我遇到了一些问题。

  1. 为了根据这个站点获得秒数:我必须使用过滤器“%S”,但是当我这样做时,我得到的只是大写字母 S。根据同一站点,如果我使用过滤器“%s”我应该从纪元开始以秒为单位获取时间,但这实际上给了我秒数。所以我正在使用这条线:

    {% 分配秒数 = “现在” | 日期” %}

  2. 如果我尝试在结果上使用 plus: 操作,而不是添加 5,它会在最后连接 5。根据这个post date 返回一个字符串。(同样,帖子还说,如果它只是一个数字,那么数学应该在一个字符串上工作,并且“%s”应该返回 unix 时间,但我不能让这些部分工作)。

  3. 根据这篇文章,可以通过将字符串乘以 1 或加 0 将字符串转换为整数。加 0 不起作用,因为它在末尾将其连接起来。另一方面,乘以 1 似乎可行,但是如果我尝试在结果中添加一个数字,我会收到一条错误消息:“液体错误:参数计数不匹配。

这是完整的代码:

{% assign seconds = "now" | date:"%s" %}
{% assign test1 = seconds | plus:5 %}
<p>{{test1}}</p>
{% assign test2 = seconds | times:1 %}
<p>{{test2}}</p>
{% assign test3 = test2 | plus:10 %}
<p>{{test3}}</p>

这是输出:

305
30
Liquid error: Parameter count mismatch

我很确定,我做错了什么,但我不知道是什么。如果有人能帮我弄清楚,我将不胜感激。

谢谢

4

1 回答 1

0

尝试

{% assign seconds = now | date: '%s' | integer %}
{% assign test1 = seconds | plus: 5 %}
  • now不需要括号,也不应该用引号引起来
  • 's'代表秒
  • integer将结果转换为数字

“s”自定义格式说明符将秒数表示为从 0 到 59 的数字。结果表示自上一分钟以来经过的整秒。一位数秒的格式不带前导零。

参考

于 2020-07-23T08:51:15.893 回答