C# 应用程序重启后发送错误的日期

C# 应用程序重启后发送错误的日期,c#,asp.net-mvc,C#,Asp.net Mvc,所有日期时间在数据库中的存储方式如下: myDate.ToUniversalTime() 我可以看到日期正确存储在数据库中,即UTC格式 当我从在Xamarin中创建的Android应用程序中使用参数创建一个对象时,新创建的对象将返回到应用程序,UTC时间将在该对象中正确返回 但是,当我关闭应用程序时,同一对象现在有另一个时间戳,即不是UTC时间戳 App->CreatePayment(int-amount)->ASP.NET MVC发挥了神奇的作用,并返回新创建的对象供应用程序本地保存 在一

所有日期时间在数据库中的存储方式如下:

myDate.ToUniversalTime()
我可以看到日期正确存储在数据库中,即UTC格式

当我从在Xamarin中创建的Android应用程序中使用参数创建一个对象时,新创建的对象将返回到应用程序,UTC时间将在该对象中正确返回

但是,当我关闭应用程序时,同一对象现在有另一个时间戳,即不是UTC时间戳

App
->
CreatePayment(int-amount)
->
ASP.NET MVC
发挥了神奇的作用,并返回新创建的对象供应用程序本地保存

在一个示例对象中,返回的日期是
21/10/2016 21:53:01

现在我重新启动应用程序,返回的日期值是
22/10/2016 4:53:01

这怎么会发生

我是否需要设置一些设置,以便ASP.NET MVC知道从数据库加载的日期是UTC格式的

应用程序\u BeginRequest
是否会导致我的设置出现这些问题

protected void Application_BeginRequest(object sender, EventArgs e)
        {
            HttpCookie cookie = HttpContext.Current.Request.Cookies["Language"];
            if (cookie != null && cookie.Value != null)
            {
                var abbrivation = cookie.Value;
                Thread.CurrentThread.CurrentCulture = new CultureInfo(abbrivation);
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(abbrivation);
            }
            else
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("es");
                Thread.CurrentThread.CurrentUICulture = new CultureInfo("es");
            }
        }
您可以尝试在
web.config
中添加
参数,如下所示:

<system.web>
    <globalization culture="es-MX" uiCulture="es" />
</system.web>

另一方面,如果应用此设置无法解决问题,则可以查看


希望这有助于……

谢谢您的回答。事实上,我已经有了那行代码,我从应用程序_BeginRequest中删除了逻辑,但是仍然发送了错误的日期。我不认为这与文化有任何关系,对吗?我的意思是,它应该只发送一个日期。你可以看看我更新答案中提到的页面。