【发布时间】:2020-07-08 22:37:51
【问题描述】:
我有一个包含日期字段的液体模板,我根本没有使用任何过滤器,但它正在从2020-04-11T22:02:11Z UTC 转换为4/11/2020 10:02:11 PM。这是 DotLiquid 或 Azure 逻辑应用程序的预期行为吗?我怎样才能防止它这样做?
【问题讨论】:
标签: liquid azure-logic-apps dotliquid
我有一个包含日期字段的液体模板,我根本没有使用任何过滤器,但它正在从2020-04-11T22:02:11Z UTC 转换为4/11/2020 10:02:11 PM。这是 DotLiquid 或 Azure 逻辑应用程序的预期行为吗?我怎样才能防止它这样做?
【问题讨论】:
标签: liquid azure-logic-apps dotliquid
我过去也遇到过同样的问题,即使是字符串,liquid 也会自动将日期时间从2020-04-11T22:02:11Z 转换为4/11/2020 10:02:11 PM。作为一种解决方法,我们可以使用日期格式将其转换为原始日期时间。
例如,我有一个json如下:
{
"datetime": "2020-04-11T22:02:11Z"
}
我们可以这样使用液体贴图:
{
"datetime":"{{content.datetime | Date: "yyyy-MM-ddTHH:mm:ssZ"}}"
}
之后,我们可以得到原始的日期格式为2020-04-11T22:02:11Z。
希望对你有帮助~
【讨论】:
"dateTime": "{{content.dateTime | Date: 'O'}}"
如果您在本地运行 DotLiquid 并使用 Newtonsoft JSON 反序列化器,那么您可以告诉它不要解析日期时间字符串并将它们保留为字符串:
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
DateParseHandling = DateParseHandling.None
};
Azure 逻辑应用工作流引擎似乎反映了这种行为,因为我的日期时间字符串没有更改。
【讨论】: