Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用is daylight全局处理时的日期时间问题_Asp.net_Sql_Asp.net Mvc 4 - Fatal编程技术网

Asp.net 使用is daylight全局处理时的日期时间问题

Asp.net 使用is daylight全局处理时的日期时间问题,asp.net,sql,asp.net-mvc-4,Asp.net,Sql,Asp.net Mvc 4,假设我们必须节省挪威时间9:00 如果我们忽略日光。在UTC中的数据库中,我们将保存8:00。在显示器中,我们将为挪威添加+1,时间为9:00。在印度,我们增加了+5:30的意思是1:30——应该是12:30,相差1小时 如果我们考虑日照,则在挪威中添加用户 + 2 < /代码>数据库中,我们将保存 7:00 < /代码>,对于挪威, + 2 < /代码>将是 9:00 < /代码>,对于印度,它将是代码> 12:30 < /代码> -正确的时间。但是在这种情况下,如果我们想看到旧的日期,我们在

假设我们必须节省挪威时间
9:00
如果我们忽略日光。在
UTC
中的数据库中,我们将保存
8:00
。在显示器中,我们将为挪威添加
+1
,时间为9:00。在印度,我们增加了
+5:30
的意思是
1:30
——应该是
12:30
,相差1小时

如果我们考虑日照,则在挪威中添加用户<代码> + 2 < /代码>数据库中,我们将保存<代码> 7:00 < /代码>,对于挪威,<代码> + 2 < /代码>将是<代码> 9:00 < /代码>,对于印度,它将是代码> 12:30 < /代码> -正确的时间。但是在这种情况下,如果我们想看到旧的日期,我们在白昼为假时添加了

+1
,但是现在如果我们通过添加
+2
小时来显示旧的日期。那就提前一个小时

我的问题

我正在做的是让用户输入本地时间

并通过添加用户时区的偏移小时数将其转换为UTC

在获取数据的同时,我将用户时区的偏移小时数传递给SQL,在SQL中,我将UTC日期转换为用户本地时间

这里的问题是我在3月31日之前输入了+1的旧日期。3月31日之后,由于白天的原因,用户偏移量将为+2。所以旧日期移动了一个小时

请纠正我在处理日期方面的错误。
如何解决我的问题

数据代表什么?如果它是某个事件发生的日志,那么它应该是UTC格式的,最好在到达数据库之前进行翻译。首先通过转换用户输入进行查询,然后通过转换视图层中的输出进行显示。如果它代表了日程安排,那么它会变得很奇怪;当DST改变时会发生什么情况(大多数人希望本地时间保持不变,但当事件是国际电话时会发生什么情况?)。一些RDBMS(和应用程序语言)对时区/dst没有/非常支持,你在使用什么?嗨,在我的问题部分,我写了我正在做的事情。实际上,我正在寻找如何显示这些日期的解决方案。这是你的问题对我来说仍然很模糊的最好方式。日期代表什么?你在储存什么?你好吗?不要只描述你正在做什么,展示一些你正在使用的实际代码。我必须同意@Clockwork Muse。如果没有一个问题域,就几乎不可能提供一个可以接受的答案。这里我们来看看处理时区和夏令时的最佳实践,它提供了多种解决方案,所有这些都取决于您计划如何使用时间,而不是一刀切的解决方案。