Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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
C# MVC4-强制日期时间_C#_Asp.net Mvc 4_Datetime - Fatal编程技术网

C# MVC4-强制日期时间

C# MVC4-强制日期时间,c#,asp.net-mvc-4,datetime,C#,Asp.net Mvc 4,Datetime,是否可以强制DateTime对象使用不同的区域设置?我希望用UK DateTime填充DateTime对象,但格式为US 我尝试了以下方法: DateTime ukDateTimeFormat = DateTime.Parse("10/26/2009 06:47", CultureInfo.GetCultureInfo("en-us")); DateTime usDateTimeFormat = DateTime.Parse("26/10/2009 06:47", CultureInfo.Get

是否可以强制DateTime对象使用不同的区域设置?我希望用UK DateTime填充DateTime对象,但格式为US

我尝试了以下方法:

DateTime ukDateTimeFormat = DateTime.Parse("10/26/2009 06:47", CultureInfo.GetCultureInfo("en-us"));
DateTime usDateTimeFormat = DateTime.Parse("26/10/2009 06:47", CultureInfo.GetCultureInfo("en-gb"));

string strDate = DateTime.Now.ToString(CultureInfo.InvariantCulture);
string[] dateString = strDate.Split('/');
DateTime enterDate = DateTime.Parse(dateString[0] + "/" + dateString[1] + "/" + dateString[2], CultureInfo.GetCultureInfo("en-us"));
什么都不管用,我总是以英国式的约会结束


任何帮助都将不胜感激:-)

对象的
DateTime
没有这样的内部字符串格式-您的日期存储为日期,并在输出时格式化。您可以按照自己的意愿进行填充,但在输出时,您需要指定格式,例如:

string formattedDate = ukDateFormat.ToString("MM/dd/yyyy HH:mm");

您似乎混淆了表示日期时间的和格式化日期时间的

DateTime
不包含任何格式,它只表示实际时间。因此,有关美国/英国日期时间格式的问题毫无意义


如果要以不同的格式显示时间,那不是
日期时间
,而是
字符串
。您可以使用
DateTime.ToString(…)
的各种重载来实现字符串的不同格式。有一些内置格式,您可以指定区域设置。

要设置区域设置的日期格式,请使用以下代码:

string formattedDate = ukDateFormat.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-us"))

DateTime
s只需存储一个时间;他们没有格式的概念。它也没有任何区域性。第三方要求我们将DateTime对象传递给SOAP服务,并且必须将其格式化为US DateTime,我们不能传递字符串。这一要求毫无意义。DateTime可以有时区,不能有格式。@iggyweb-在对soap服务的调用(将传递XML)中,在某个点上这肯定是一个字符串…抱歉,我的意思是Web服务而不是SOAP服务。使用
IFormatProvider
作为第二个参数,因为这可能会由于
/
格式说明符而产生不同的结果。