Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 mvc ASP.NET MVC中的时区转换_Asp.net Mvc_Datetime_Timezone - Fatal编程技术网

Asp.net mvc ASP.NET MVC中的时区转换

Asp.net mvc ASP.NET MVC中的时区转换,asp.net-mvc,datetime,timezone,Asp.net Mvc,Datetime,Timezone,我的web应用程序使用ASP.NETMVC4,所有数据库访问都是通过WCF服务进行的。现在,我想以用户时区显示系统中的所有日期。用户时区保存在数据库中,登录时,我将其保存在cookie中。我所做的是在控制器中调用一个实用方法,并将所有datetime转换为用户的时区。这样做对吗?还是应该直接在视图中调用实用程序方法?请建议处理这种情况的最佳方法。理想情况下,实用程序方法应返回用户时区中的时间(在向其传递帮助您确定用户时区的参数后)。然后,您应该从控制器操作或业务层(或从填充视图模型的任何位置)调

我的web应用程序使用ASP.NETMVC4,所有数据库访问都是通过WCF服务进行的。现在,我想以用户时区显示系统中的所有日期。用户时区保存在数据库中,登录时,我将其保存在cookie中。我所做的是在控制器中调用一个实用方法,并将所有datetime转换为用户的时区。这样做对吗?还是应该直接在视图中调用实用程序方法?请建议处理这种情况的最佳方法。

理想情况下,实用程序方法应返回用户时区中的时间(在向其传递帮助您确定用户时区的参数后)。然后,您应该从控制器操作或业务层(或从填充视图模型的任何位置)调用实用工具方法,然后使用视图模型中的信息来呈现视图。

始终将UTC日期存储在数据库中,因为您不知道谁将要查看项目

储存前

var dbDate = myDate.ToUniversalTime();
观看时:

var userDate = dbDate.ToLocalTime();
在进行SQL查询等之前,请记住将任何日期转换为UTC

MSDN: