以自定义格式解析包含日期和时间的字符串
问题描述:
我有一个下一个格式为"ORDER20100322194007"
的字符串,其中20100322
是日期,而194007
是时间。如何解析字符串并获取包含的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
}
如果字符串是无效的应该抛出一个异常,那么使用DateTime.ParseExact
代替DateTime.TryParseExact
如果它不总是以“订单”,然后做任何你需要为了得到刚刚开始日期和时间部分,并从上面的格式模式中删除“'ORDER'”。
答
如果你没有一个固定的字符串结构,那么你可以使用正则表达式来分隔数字和字符,然后使用convert to datetime函数来分隔数字。
这是一个很好的问题。也许你应该改变标题为“.NET中的自定义日期格式的日期时间解析” – 2010-04-01 13:32:25
好吧,我同意你的意见。 – akrisanov 2010-04-01 14:07:05