C#TryParseExact为所有内容返回相同的日期

时间:2018-07-24 02:01:24

标签: c# datetime

我有一些时髦的日期格式,我想我可以通过以下代码正确地转换它们:

String theDate = "2212017";
DateTime date;
DateTime.TryParseExact(theDate.PadLeft(8, '0'), "MMddyyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out date);
MessageBox.Show("TheDate: " + theDate + " output: " + date);

A,它总是给出一个日期:

1/1/0001 12:00:00 AM

对于我的任何时髦约会:

5162018
5202020
2212017
1202019

我只是打印错了吗?还是TryParseExact无法正常工作?

1 个答案:

答案 0 :(得分:2)

精确解析需要正确的数字位数,并且您的天数值缺少前导零。填补它。

尝试

DateTime.TryParseExact
(
    theDate.PadLeft(8,'0'), 
    "ddMMyyyy", 
    System.Globalization.CultureInfo.InvariantCulture,
    System.Globalization.DateTimeStyles.None, 
    out date
);