Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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# 特定格式的DateTime对象,与输入无关_C#_Datetime - Fatal编程技术网

C# 特定格式的DateTime对象,与输入无关

C# 特定格式的DateTime对象,与输入无关,c#,datetime,C#,Datetime,我有一个ASP.NET MVC应用程序,用户可以选择存储在ViewModel中的日期 这是转换为日期对象的代码: viewModel.startDateAndTime = Convert.ToDateTime(buyToday.DealStartDateAndTime); 其中一名开发人员将其系统日期时间设置为以下格式: 2014年2月24日 在那个系统上他得到了一个例外。 我想设置使用此格式的日期和时间: 年月日 无论任何系统上的设置是什么 尝试使用这段不起作用的代码: string st

我有一个ASP.NET MVC应用程序,用户可以选择存储在ViewModel中的日期

这是转换为日期对象的代码:

viewModel.startDateAndTime = Convert.ToDateTime(buyToday.DealStartDateAndTime);
其中一名开发人员将其系统日期时间设置为以下格式:

2014年2月24日

在那个系统上他得到了一个例外。 我想设置使用此格式的日期和时间:

年月日

无论任何系统上的设置是什么

尝试使用这段不起作用的代码:

 string startDate = "24-Feb-2014";
 DateTime startDateTime = DateTime.ParseExact(startDate, "mmddyyyy", CultureInfo.InvariantCulture);
如有任何线索,我们将不胜感激。 谢谢和问候。

试试这个:

string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "dd-MMM-yyyy",System.Globalization.CultureInfo.InvariantCulture);
试试这个:

string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "dd-MMM-yyyy",System.Globalization.CultureInfo.InvariantCulture);

您的输入字符串与解析模式不匹配

“2014年2月24日”
mmddyyyy
大不相同,不是吗

您可以使用
DateTime.Parse
CultureInfo.InvariantCulture

string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.Parse(startDate, CultureInfo.InvariantCulture);

否则,使用
ParseExact
时,输入必须与模式完全匹配,因此您应该将
24022014
作为输入传递。但是,正如你所知,
mm
意味着几分钟。对于月份,使用
MM
:),所以模式应该是
ddMMyyyy
。检查MSDN上的页面。

您的输入字符串与解析模式不匹配

“2014年2月24日”
mmddyyyy
大不相同,不是吗

您可以使用
DateTime.Parse
CultureInfo.InvariantCulture

string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.Parse(startDate, CultureInfo.InvariantCulture);

否则,使用
ParseExact
时,输入必须与模式完全匹配,因此您应该将
24022014
作为输入传递。但是,正如你所知,
mm
意味着几分钟。对于月份,使用
MM
:),所以模式应该是
ddMMyyyy
。查看MSDN上的页面。

mm
返回从00到59的分钟数。所以使用
MM
月份,从01到12

string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "ddMMyyyy", CultureInfo.InvariantCulture);

mm
返回从00到59的分钟数。所以使用
MM
月份,从01到12

string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "ddMMyyyy", CultureInfo.InvariantCulture);

用户如何“选择日期”?他只是把它输入一个文本字段吗?或者你使用了某种日期选择控件吗?@Heinzi使用bootstrapAs据我所知,有很多用于引导的日期选择控件。你用哪一种?(我的目标是:检查该控件是否以定义良好的固定格式提供对所选日期的访问,然后解析该格式。)用户如何“选择日期”?他只是把它输入一个文本字段吗?或者你使用了某种日期选择控件吗?@Heinzi使用bootstrapAs据我所知,有很多用于引导的日期选择控件。你用哪一种?(我的目标是:检查该控件是否以定义良好的固定格式提供对所选日期的访问,然后解析该格式。)