C# 是否将字符串日期转换为日期时间格式?
我已经很好地研究了所有的问题,比如,和。但是,无论我尝试什么,我仍然会遇到格式异常:C# 是否将字符串日期转换为日期时间格式?,c#,string,datetime-format,string-conversion,C#,String,Datetime Format,String Conversion,我已经很好地研究了所有的问题,比如,和。但是,无论我尝试什么,我仍然会遇到格式异常: string DatePaid="9/5/2012"; var date = DateTime.ParseExact(DatePaid, "dd/MM/yyyy", CultureInfo.InvariantCulture); 我不知道我做错了什么?编辑: 由于您将问题的日期字符串更改为“9/5/2012”,现在它可以是日/月/年或月/日/年,假设它是日/月/年,由于使用dd需要日部分为两位数,因此您将得到异
string DatePaid="9/5/2012";
var date = DateTime.ParseExact(DatePaid, "dd/MM/yyyy", CultureInfo.InvariantCulture);
我不知道我做错了什么?编辑:
由于您将问题的日期字符串更改为“9/5/2012”
,现在它可以是日/月/年
或月/日/年
,假设它是日/月/年
,由于使用dd
需要日部分为两位数,因此您将得到异常。因此,在字符串中,日期9
应该是09
您可以使用单个d
和M
,这将分别适用于一位数和两位数的日和月部分
因此,您的代码应该是:
string DatePaid = "9/5/2012";
var date = DateTime.ParseExact(DatePaid, "d/M/yyyy", CultureInfo.InvariantCulture);
旧答案
由于格式错误,因此出现格式异常。您的格式应该是
“M/dd/yyyy”
,或者如果您有一位数的日部分,那么使用d
,它将解析一位数和两位数的日部分
string DatePaid = "9/15/2012";
var date = DateTime.ParseExact(DatePaid, "M/d/yyyy", CultureInfo.InvariantCulture);
请参见:编辑:
由于您将问题的日期字符串更改为“9/5/2012”
,现在它可以是日/月/年
或月/日/年
,假设它是日/月/年
,由于使用dd
需要日部分为两位数,因此您将得到异常。因此,在字符串中,日期9
应该是09
您可以使用单个d
和M
,这将分别适用于一位数和两位数的日和月部分
因此,您的代码应该是:
string DatePaid = "9/5/2012";
var date = DateTime.ParseExact(DatePaid, "d/M/yyyy", CultureInfo.InvariantCulture);
旧答案
由于格式错误,因此出现格式异常。您的格式应该是
“M/dd/yyyy”
,或者如果您有一位数的日部分,那么使用d
,它将解析一位数和两位数的日部分
string DatePaid = "9/15/2012";
var date = DateTime.ParseExact(DatePaid, "M/d/yyyy", CultureInfo.InvariantCulture);
请参阅:像这样尝试
string DatePaid="9/15/2012";
var date = DateTime.ParseExact(DatePaid, "M/dd/yyyy", CultureInfo.InvariantCulture);
像这样试试
string DatePaid="9/15/2012";
var date = DateTime.ParseExact(DatePaid, "M/dd/yyyy", CultureInfo.InvariantCulture);
您的MM(月)将等于15。一年中只有12个月,而不是15个月。您的MM(月)将等于15个月。一年只有12个月,而不是15个月