我有一个下一格式"ORDER20100322194007"
的字符串,其中20100322
是日期,194007
是时间。如何解析字符串并获取包含的DateTime
对象?
答案 0 :(得分:85)
它始终以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
}
如果无效的字符串应该抛出异常,那么使用DateTime.ParseExact
代替DateTime.TryParseExact
如果它并不总是以“ORDER”开头,那么为了得到日期和时间部分,你需要做任何你需要的事情,并从上面的格式模式中删除“'ORDER'”。
答案 1 :(得分:9)
您可以使用DateTime.ParseExact方法指定解析时应使用的格式。
答案 2 :(得分:1)
如果你没有固定的字符串结构,说顺序不会一直存在,那么你可以使用正则表达式来分隔数字和字符,然后使用convert to datetime函数来分隔数字。