kra*_*mad -2 c# datetime parsing
我试图将字符串解析为Datetime,但它不起作用并给出错误:
"字符串未被识别为有效的DateTime."
字符串是完美的.
这是代码:
string deliv = DeliveryDateTextBox.Text;
string[] delivday = deliv.Split('-');
int year, month, day;
int.TryParse(delivday[0], out day);
int.TryParse(delivday[1], out month);
int.TryParse(delivday[2], out year);
string dtt = day + "/" + month + "/" + year;
DateTime datet = DateTime.ParseExact(dtt, "dd/MM/yyyy", null);
jobcard.DeliveryDate = datet;
Run Code Online (Sandbox Code Playgroud)
我调试的代码,它是给{01-01-0001 12:00:00 AM}上datet.
除了你应该使用的事实,new DateTime(year, month, day)甚至DateTime.TryParseExact(deliv, "d-M-yyyy", .... )是原始字符串......
您的呼叫DateTime.ParseExact()失败是因为您的输入字符串具有单个数字day和/或单个数字month,而您的模式dd/MM/yyyy要求两个数字都是两位数.
这可以通过使用d/M/yyyy模式来修复,它将接受单个和两个数字.但请不要,请看第一段!