4

我必须在电子邮件正文中发送收件人的当地时间。我的电子邮件正文是 html 内容。并通过我的 c# 代码在 html 正文中传递一些变量,如日期等。是否有任何我可以传递的 DateTime 格式,它会被邮箱自动转换为本地时间,或者我可以在 html/javascript 中执行的操作,当收到邮件时,它会动态地将时间转换为收件人本地时间?

谢谢

4

2 回答 2

2

简短的回答是否定的,对不起。您要么需要将每个用户的时区存储在某个数据库中,然后您的 C# 代码将提供一定小时数的时间偏移,例如:

<%=MyDate.AddHours(Subscriber.TimeZoneOffset)%>

至于您在电子邮件正文中执行 JavaScript 的想法:不会发生!

作为一个懒惰的人,我可能只会在我的电子邮件中满足所有时间的资格,比如09:00 GMT/CET/PST。不过,我意识到这可能不适用于所有用例;)

于 2013-11-08T11:49:31.240 回答
0

JavaScript 在发送的电子邮件中是不允许的,因为出于安全原因它不在客户端上执行。因此,发送时必须将时间添加到邮件中。

您的数据库中是否有用户时区、邮政编码或国家/地区短代码?或者,用户在发送电子邮件时是否已登录?在这种情况下,您可以使用该数据在服务器上进行数学运算。

如果您事先没有掌握他们的时区信息,您就无法确定转换为他们的当地时间。

于 2013-11-08T11:51:49.080 回答