我正在使用Visual Studio 2013中的MVC 5 Web应用程序,我在日期格式方面遇到问题。当我运行代码时,日期格式返回美国Datetime abc = DateTime.Now;
等于“05/19/2014 00:00:00”,我希望它以英国格式返回。
我本地计算机上的语言和区域设置设置为英国格式,我的位置也设置为英国。
该项目在Team Foundation Server中设置,还有其他三个开发人员正在处理此项目。已检入并同步所有项目文件。
但其他开发者正在返回英国日期格式。
我创建了另一个测试项目,它返回的日期是英国格式。所以我知道这不是我的Visual Studio设置。
有谁知道我可以在哪里检查或更改我可以返回本地计算机日期格式的任何设置或代码。
提前谢谢你:)
答案 0 :(得分:3)
尝试enableClientBasedCulture
中的Web.Config
:
<system.web>
<globalization enableClientBasedCulture="true" culture="auto" uiCulture="auto" />
</system.web>
答案 1 :(得分:0)
您应该设置以下文化;
System.Threading.Thread.CurrentThread.CurrentCulture = Globalization.CultureInfo.GetCultureInfo("en-US")
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture
还要确保界面中的输入掩码是当前设置的,以便返回后端所期望的内容。
答案 2 :(得分:0)
Datetime abc = DateTime.Now;
上述代码与日期或时间的表示方式完全无关。 DateTime对象所做的就是跟踪自某个特定日期以来的滴答数。 只有将它转换为字符串才能解决任何格式问题。
请参阅Custom Date and Time format strings on MSDN。
格式化受当前属性的影响 DateTimeFormatInfo对象,由当前隐式提供 线程文化或由IFormatProvider参数明确表示 调用格式的方法。对于IFormatProvider参数,您 应该指定一个CultureInfo对象,它代表一种文化,或者 DateTimeFormatInfo对象。