以自定义格式parsing包含date和时间的string

我有一个string的下一个格式"ORDER20100322194007" ,其中20100322是date和194007是时间。 如何parsing一个string并获取包含的DateTime对象?

它会始终以ORDER开头吗?

 string pattern = "'ORDER'yyyyMMddHHmmss"; DateTime dt; if (DateTime.TryParseExact(text, pattern, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { // dt is the parsed value } else { // Invalid string } 

如果无效的string应该引发exception,则使用DateTime.ParseExact而不是DateTime.TryParseExact

如果它不总是以“ORDER”开始,那么做任何你需要的东西来获取date和时间部分,并从上面的格式模式中删除“ORDER”。

您可以使用DateTime.ParseExact方法指定parsing时应使用的格式。

如果你没有一个固定的string结构,那么顺序并不总是在那里,那么你可以使用正则expression式来分隔数字和字符,然后使用转换为datetime函数来分隔数字。