MVC#需要日期时间格式修复

MVC#需要日期时间格式修复,c#,asp.net-mvc-3,datetime,C#,Asp.net Mvc 3,Datetime,正如您在下面的屏幕截图中所看到的。我的日期是2011年12月7日上午12:00:00。日期描述错误,即使我格式化它。7是一天,12是一个月 如何修复该问题以获得黄色返回字符串的正确格式? 在下面的屏幕截图中,日期为2011年12月28日11:00,其中28为日,12为月。试图将该字符串转换为DateTime以保存到SQL Server DateTime字段,但出现转换问题有人告诉我为什么会这样以及如何修复吗? 解决方案: 我解决了下面的问题。当我想在SQL Server 2008 r2中保存

正如您在下面的屏幕截图中所看到的。我的日期是2011年12月7日上午12:00:00。日期描述错误,即使我格式化它。7是一天,12是一个月

如何修复该问题以获得黄色返回字符串的正确格式?

在下面的屏幕截图中,日期为2011年12月28日11:00,其中28为日,12为月。试图将该字符串转换为DateTime以保存到SQL Server DateTime字段,但出现转换问题有人告诉我为什么会这样以及如何修复吗?

解决方案:

我解决了下面的问题。当我想在SQL Server 2008 r2中保存日期时,默认值保存为2011-08-12 11:00:00.000,这导致了问题。我在将其保存到SQL中时更改了格式日期,如下图所示,并且成功了

DateTime n = Convert.ToDateTime(start_date);

            var h = String.Format("{0:dd/MM/yyyy}", n);

            if (start_date != "")
            {
                changedEvent.start_date = Convert.ToDateTime(h);
            }

现在的输出是2011-12-08 11:00:00.000。你认为有什么好办法吗?

你应该调用
DateTime.ParseExact(开始日期,“dd/MM/yyyyy”,CultureInfo.InvariantCulture)
你应该调用
DateTime.ParseExact(开始日期,“dd/MM/yyyy”,CultureInfo.InvariantCulture)
试试:

DateTime.ParseExact(str, "dd/MM/yyyy HH:mm:ss TT", null); //28/12/2011 11:00:00 AM
DateTime.ParseExact(str, "dd/MM/yyyy HH:mm", null); //28/12/2011 11:00
尝试:


我认为你解决了错误的问题。如果希望DateTime识别区域设置日期格式,则应确保为本地设置了服务器日期区域设置。然后,DateTime将正确转换日期而不进行转换

如果这是不可能的(假设您使用的是另一个区域设置中的共享服务器),那么ParseExact方法将是一个解决方案,但它只能解决部分问题。例如,发布日期和模型绑定将尝试以服务器区域设置格式进行分析

您可能需要使用如下方式显式设置语言环境:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-MX");

我认为你解决了错误的问题。如果希望DateTime识别区域设置日期格式,则应确保为本地设置了服务器日期区域设置。然后,DateTime将正确转换日期而不进行转换

如果这是不可能的(假设您使用的是另一个区域设置中的共享服务器),那么ParseExact方法将是一个解决方案,但它只能解决部分问题。例如,发布日期和模型绑定将尝试以服务器区域设置格式进行分析

您可能需要使用如下方式显式设置语言环境:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-MX");

编辑了我的问题并添加了有效的变通方法。编辑了我的问题并添加了有效的变通方法。