我是新来的c#如何将我的输入字符串转换为DateTime。将字符串转换为日期时间C#
_toDate = 5/22/2015
我cannt使用
DateTime.ParseExact(_toDate, "yyyy-MM-dd", null);
或者
Convert.ToDateTime(_toDate)
抛出一个异常字符串未被识别为有效的DateTime。
注意:字符串的缩写与上面的缩写相同。
欣赏您的回复
我是新来的c#如何将我的输入字符串转换为DateTime。将字符串转换为日期时间C#
_toDate = 5/22/2015
我cannt使用
DateTime.ParseExact(_toDate, "yyyy-MM-dd", null);
或者
Convert.ToDateTime(_toDate)
抛出一个异常字符串未被识别为有效的DateTime。
注意:字符串的缩写与上面的缩写相同。
欣赏您的回复
显然,您的字符串和格式不匹配。
将指定的日期和时间字符串表示形式转换为其等效日期时间的 。字符串表示的格式必须 与指定格式完全匹配。
您需要使用M/dd/yyyy
与具有/
为DateSeparator
像InvariantCulture
文化。
string _toDate = "5/22/2015";
DateTime myDate = DateTime.ParseExact(_toDate, "M/dd/yyyy", CultureInfo.InvariantCulture);
当您使用null
作为IFormatProvider
,它的螺纹为您CurrentCulture
,如果你CurrentCulture
没有/
作为DateSeparator
,你会得到FormatException
因为/
custom format specifier具有特殊的含义与当前的文化取代我或提供培养日期分离器。
@Downvoter照顾至少发表评论,以便我可以看到我可能会错的地方? –
这适用于给定的具体情况,但它更可能是OP需要使用'M/d/yyyy'。这种格式不太可能会填满整天,而不是一个月。另外我不是下选举人。 – juharr
@juharr这适用于特定情况,因为这是我们的唯一情况。你有一点,'d'说明符解析它,但由于OP试图用'dd'说明符解析它,所以有可能单日数字_may_具有前导零。 –
'yyyy-MM-dd'似乎不符合你的日期。 – Magnus
可能重复[字符串未被识别为有效的日期时间“格式dd/MM/yyyy”](http://stackoverflow.com/questions/2193012/string-was-not-recognized-as-a-valid-datetime -format-dd-mm-yyyy) –