使用ParseExact 方法,并将格式指定为M/d/yyyy(或d/M/yyyy,具体取决于您的需要):
var date = DateTime.ParseExact(input, "M/d/yyyy");
还有一个可以处理多种日期格式的重载:
var date = DateTime.ParseExact(input,
new[] { "M/d/yyyy", "M-d-yyyy" },
CultureInfo.InvariantCulture,
DateTimeStyles.None);
如果输入不是允许的格式之一,这可能仍会引发FormatException。为了更安全地处理这个问题,请查看TryParseExact 方法:
DateTime date;
var success = DateTime.TryParseExact(
input,
new[] { "M/d/yyyy", "M-d-yyyy" },
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out date);
在将日期转换回字符串时,不要忘记指定正确的格式 / 和不变的文化:
var output = date.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);