我正在编写一个程序,该程序需要每小时每小时发送一次电子邮件,但该时间对于用户而言是本地的。
假设我有2个用户位于不同的时区。约翰在纽约,弗雷德在洛杉矶。服务器在芝加哥。如果我想在本地用户下午6点发送电子邮件,则必须在服务器时间晚上7点发送给John,在服务器时间下午4点发送给Fred。
在.NET / Sql Server中,有什么好的方法?我已经找到了包含所有时区信息的xml文件,因此我正在考虑编写脚本以将其导入数据库,然后对其进行查询。
编辑: 我使用了“沨4znet.dll”,并在.NET端进行了所有比较。
您有两种选择:
您应该决定什么对您的应用程序最有意义。例如,如果所有用户的邮寄时间始终相同,则选择选项(2)会更有意义。如果事件时间可以在用户之间甚至每个用户之间变化,那么如果您选择选项(1),则可以使开发和调试更加容易。无论哪种方式,您都需要知道用户的时区。
*这些函数调用显然是伪的,因为我不知道它们在T-SQL中的调用,但是它们应该存在。