在电子邮件规则中将日期时间字段令牌转换为本地时区



在果园中,我有一个包含日期时间字段的自定义内容类型。我创建了一个规则,用于在提交新内容项时发送电子邮件。我能够使用以下令牌在电子邮件中包含日期时间字段的值:

{Content.Fields.MyContentType.MyDateTimeField}

我遇到的问题是替换令牌的日期/时间值采用 UTC,我需要它位于为我的 Orchard 实例配置的时区中。

我看到当前日期/时间有一个令牌,如下所示:

{Date.Local}

但。本地似乎在日期时间字段令牌上无效。

看起来创建自定义令牌提供程序来解决此问题并不难,但在我这样做之前,我想确保我不会错过一个更简单的现有解决方案。

日期令牌确实有一个Local子标记,但这里的问题是{Content.Fields.MyContentType.MyDateTimeField}不是日期标记,它仍然只是字段。您需要获得它的实际值。如果您查看 FieldTokens.cs ,您将看到日期字段标记具有DateTime标记。所以我认为{Content.Fields.MyContentType.MyDateTimeField.DateTime.Local}应该做这个伎俩。

最新更新