【发布时间】:2010-04-01 13:10:52
【问题描述】:
我有一个格式为"ORDER20100322194007" 的字符串,其中20100322 是日期,194007 是时间。如何解析字符串并获取包含的DateTime对象?
【问题讨论】:
-
这是个好问题。也许您应该将标题更改为“.NET 中自定义日期格式的 DateTime 解析”
我有一个格式为"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”开头,那么做任何你需要的事情来获取日期和时间部分,并从上面的格式模式中删除“'ORDER'”。
【讨论】:
您可以使用DateTime.ParseExact 方法指定解析时应使用的格式。
【讨论】:
如果您没有固定的字符串结构,说订单不会总是存在,那么您可以使用正则表达式来分隔数字和字符,然后使用转换为日期时间函数来分隔数字。
【讨论】: