假设我有一个全球网站(我的意思是它有来自世界各地的用户)。
我有 1 台服务器在德国(在某个城市)。它永远不会从德国搬走——永远不会。
我的问题是:
当用户保存数据时,我需要保存操作日期:
我应该将它保存(我想我应该保存)UTC
吗?
或者因为 - 服务器位于一个位置 - 可以保存所有日期,因为GetDATE()
相对性点是同一点。
我错了吗 ?如果我这样做,你能提供一个简单的失败场景吗?
假设我有一个全球网站(我的意思是它有来自世界各地的用户)。
我有 1 台服务器在德国(在某个城市)。它永远不会从德国搬走——永远不会。
我的问题是:
当用户保存数据时,我需要保存操作日期:
我应该将它保存(我想我应该保存)UTC
吗?
或者因为 - 服务器位于一个位置 - 可以保存所有日期,因为GetDATE()
相对性点是同一点。
我错了吗 ?如果我这样做,你能提供一个简单的失败场景吗?
始终以 UTC 格式将数据存储在数据库中,然后在应用程序中显示期间使用适当的时区对其进行转换。在考虑数据移动性(异地复制)、用户位置以及最重要的夏令时时,这是唯一明智的方法。如果您存储本地时间,有时您无法区分列值,并且由于夏令时而无法正确排序。想一想,在德国,今年 10 月 27 日凌晨 2:05 将发生两次......与摩洛哥相比,这是一个简单的例子。