所需的格式是
string format = "dd/M/yyyy";
不过我不明白,为什么要拆分连接字符串,因为你会得到同样的东西?
如果输入是12/4/2012 ,在被'/'分割后,你会得到 12, 4, 2012 然后将它们连接起来得到“12/4/2012”。为什么这个?
此外,如果您真的需要拆分,您可以存储到一个数组中,这样您就不需要拆分 3 次:
var splits = lbl_TransDate.Text.Split('/');
DateTime.ParseExact(splits[0] + "/" + splits[1] + "/" + splits[2], ...);
如果您不信任输入,则拆分数组可能不是 Length = 3,并且更多,您可以使用DateTime.TryParseExact
编辑您可以使用多种格式的重载因此,如果输入可能是12/4/2012 或 12/04/2012,您可以同时提供两种格式
var formats = new[] {"dd/M/yyyy","dd/MM/yyyy"};
var date = DateTime.ParseExact("12/4/2012", formats,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.AssumeLocal);