我必须在电子邮件正文中发送收件人的当地时间。我的电子邮件正文是 html 内容。并通过我的 c# 代码在 html 正文中传递一些变量,如日期等。是否有任何我可以传递的 DateTime 格式,它会被邮箱自动转换为本地时间,或者我可以在 html/javascript 中执行的操作,当收到邮件时,它会动态地将时间转换为收件人本地时间?
谢谢
我必须在电子邮件正文中发送收件人的当地时间。我的电子邮件正文是 html 内容。并通过我的 c# 代码在 html 正文中传递一些变量,如日期等。是否有任何我可以传递的 DateTime 格式,它会被邮箱自动转换为本地时间,或者我可以在 html/javascript 中执行的操作,当收到邮件时,它会动态地将时间转换为收件人本地时间?
谢谢
简短的回答是否定的,对不起。您要么需要将每个用户的时区存储在某个数据库中,然后您的 C# 代码将提供一定小时数的时间偏移,例如:
<%=MyDate.AddHours(Subscriber.TimeZoneOffset)%>
至于您在电子邮件正文中执行 JavaScript 的想法:不会发生!
作为一个懒惰的人,我可能只会在我的电子邮件中满足所有时间的资格,比如09:00 GMT/CET/PST。不过,我意识到这可能不适用于所有用例;)
JavaScript 在发送的电子邮件中是不允许的,因为出于安全原因它不在客户端上执行。因此,发送时必须将时间添加到邮件中。
您的数据库中是否有用户时区、邮政编码或国家/地区短代码?或者,用户在发送电子邮件时是否已登录?在这种情况下,您可以使用该数据在服务器上进行数学运算。
如果您事先没有掌握他们的时区信息,您就无法确定转换为他们的当地时间。