将字符串Date转换为DateTime格式
本文关键字:DateTime 格式 转换 字符串 Date | 更新日期: 2023-09-27 18:21:17
我已经很好地研究了所有这样的问题,这个和这个。然而,无论我尝试什么,我仍然会得到格式异常:
string DatePaid="9/5/2012";
var date = DateTime.ParseExact(DatePaid, "dd/MM/yyyy", CultureInfo.InvariantCulture);
我不知道我做错了什么?
编辑:
由于您现在将问题的日期字符串更改为"9/5/2012"
,它可能是Day/Month/Year
或Month/Day/Year
,假设它是Day/Month/Year
,则由于使用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);
请参阅:自定义日期和时间格式字符串
您的MM(月)将等于15。一年中只有12个月而不是15个月。
这样试试。
string DatePaid="9/15/2012";
var date = DateTime.ParseExact(DatePaid, "M/dd/yyyy", CultureInfo.InvariantCulture);