2

我想2019-03-28T15:30:59+12:00使用wiremock 生成格式的日期。

我试过了:

"currentDateTime": "{{now timezone='Australia/Sydney' format='yyyy-MM-dd'T'HH:mm:ssZ'}}"

但是,我得到了例外:

wiremock.com.github.jknack.handlebars.HandlebarsException: inline: found: ''yyyy-MM-dd'T'HH:mm:ssZ'',预期:'在输入''yyyy-MM-dd' 处没有可行的替代方案T'HH:mm:ssZ'''

我也尝试过转义两个引号T,但它不起作用。

我做错了什么?

4

5 回答 5

2

尝试使用以下代码块。对我来说工作得很好,可能是最好的方法。 format='yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX'

于 2019-12-19T16:05:53.077 回答
1

如果您需要以 ISO 8601 格式包含日期,则可以省略该format选项:

{{now timezone='Australia/Sydney'}}

它将产生以下结果:2021-06-09T05:45:53+10:00. 如果您省略时区并仅使用{{now}}- 它将生成 UTC: 的日期2021-06-08T19:48:27Z

作为参考,您可以检查RenderableDatewiremock中的类

于 2021-06-08T19:50:32.610 回答
1

万一其他人将来遇到这篇文章,我使用的最简单(但很笨拙)的解决方案是分别格式化“T”之前和之后的部分,如下所示:

"currentDateTime": "{{now timezone='Australia/Sydney' format='yyyy-MM-dd'}}T{{now timezone='Australia/Sydney' format='HH:mm:ssZ'}}"
于 2020-08-06T14:14:38.333 回答
1

它看起来像“wiremock-handlebars”错误:)。我玩过这个,我发现了更简单的解决方法:

首先声明变量

{{#assign 'myformat'}}yyyy-MM-dd'T'HH:mm:ss{{\/assign}}

然后在你的存根/模拟中使用它

{{now format=escape}}

于 2019-11-29T10:17:31.643 回答
0
"body": "{\"datetime\": \"{{now format='yyyy-MM-dd\\'T\\'HH:mm:ss'}}\"}"
于 2020-09-24T07:01:51.210 回答