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

时间:2016-10-21 22:13:18

标签: c# asp.net-mvc

所有DateTimes都像这样存储在数据库中:

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格式?

Application_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");
            }
        }

1 个答案:

答案 0 :(得分:0)

您可以尝试在def c(n): counts = [1] + [0]*n for k in range(1, n + 1): for i in reversed(range(k, n + 1)): counts[i] += counts[i - k] return counts def Q(n): "-> the number of subsets of {1,..,n} that sum to n." return c(n)[n] def f(n): "-> the number of subsets of {1,..,n} of size >= 2 that sum to n." return Q(n) - 1 中添加<globalization>参数,如下所示:

web.config

另一方面,如果通过应用此设置无法解决问题,您可以查看MVC - UTC date to LocalTime

希望这会有所帮助......

相关问题