在服务器上,我需要确定两个时间点是否在同一天(相对于客户当地时间)。
服务器上的日期保存在UTC中:
日期A:2019-10-24T22:00:00.000Z
日期B:2019-10-25T17:00:00.000Z
在我的本地时区(+2:00),这两个日期是同一天,但是如果我在服务器上比较它们,则不是。
我是否必须在服务器上获取客户端时区以比较日期,或者是否有另一种模式可以解决此问题?
如何与客户所在的时区创建一个日期进行比较?
答案 0 :(得分:0)
如果您将 UTCDATE 保存在服务器上,则以下代码将为您提供帮助,因为您只需按分钟传递当前的时区偏移,如下所示
DECLARE @Offset as int = 300
SELECT DATEADD(MINUTE, CONVERT(int,@Offset), GETUTCDATE())
答案 1 :(得分:-1)
您可以使用momentjs时区来解决此问题 https://momentjs.com/timezone/ 在进行任何计算之前,您可以在其中将服务器时间转换为您的时区。
最好的方法是将时间戳记保存在服务器中,该时间间隔是经过纪元后的毫秒数,这样您就始终在同一页面上