using System; namespace Plane { public static class StringExtensions { /// /// 把字符串转换成其表示的日期。 /// /// 形如 yyyyMMdd 或 yyyyMMddHHmmss 的字符串。 /// 指定的字符串表示的日期。 public static DateTime ToDateTime(this string value) { if (value == null) throw new ArgumentNullException(nameof(value)); if (value.Length == 8) { return new DateTime( Convert.ToInt32(value.Substring(0, 4)), Convert.ToInt32(value.Substring(4, 2)), Convert.ToInt32(value.Substring(6, 2)) ); } else if (value.Length == 14) { return new DateTime( Convert.ToInt32(value.Substring(0, 4)), Convert.ToInt32(value.Substring(4, 2)), Convert.ToInt32(value.Substring(6, 2)), Convert.ToInt32(value.Substring(8, 2)), Convert.ToInt32(value.Substring(10, 2)), Convert.ToInt32(value.Substring(12, 2)) ); } throw new InvalidOperationException("String.ToDateTime 扩展方法只支持 yyyyMMdd 和 yyyyMMddHHmmss 两种形式的字符串!"); } } }