我开发了一个Web应用程序,它在两个不同的国家运行。
model.Created_Date = DateTime.Now;
我在Azure VM上托管了此应用程序。因此,当保存记录时,它将获取服务器的当前DateTime。一个国家可以,但另一个国家不行,这个国家的时差是4小时。因此,当使用登录时间创建日志时,国家/地区1的时间应为上午9点,国家/地区2的人员登录系统时的时间应为上午9点,但服务器将其视为下午1点。如何解决这个问题?
7lrncoxx1#
正如你所知道的,唯一明智的选择是总是在你的应用程序中使用UTC时间戳。唯一处理本地时间的地方是 * 用户界面 *,在那里时间戳被显示给用户,或者由用户输入。换句话说就是:你的API必须总是发送和接收UTC时间。你的API必须永远不受本地时间的困扰。这取决于UI是否显示UTC时间或将其转换为用户的本地时间。
1条答案
按热度按时间7lrncoxx1#
正如你所知道的,唯一明智的选择是总是在你的应用程序中使用UTC时间戳。唯一处理本地时间的地方是 * 用户界面 *,在那里时间戳被显示给用户,或者由用户输入。
换句话说就是:你的API必须总是发送和接收UTC时间。你的API必须永远不受本地时间的困扰。这取决于UI是否显示UTC时间或将其转换为用户的本地时间。