C#字符串日期时间转换
问题描述:
我面临的一个问题,同时将字符串转换为DateTime。
我作为
20120104073010.221-0700
我想分析它得到DateTime
对象的日期时间字符串。另一件事,我不确定.
是否发生在毫秒部分。
有没有任何一般的方法来解析这样的字符串?
答
您可能想要查看DateTime.ParseExact
方法,该方法允许您指定"yyyyMMddHHmmss.fffzzz"
格式的格式字符串。这个格式字符串应该处理你有的日期时间字符串。
答
您可以使用custom Date and Time format string与ParseExact
或TryParseExact
。
您的日期/时间字符串看起来是这样的格式:如果失败
"yyyyMMddHHmmss.fffK"
DateTime dt = DateTime.ParseExact("20120104073010.221-0700",
"yyyyMMddHHmmss.fffK",
CultureInfo.InvariantCulture);
ParseExact
将抛出一个异常,所以你可能需要使用TryParseExact
,将在失败而不是抛出返回false
。
问题已经被问到在这里数以万计的SO:http://*.com/questions/7580809/parse-c-sharp-string-to-datetime – 2012-01-12 11:38:49
在那*特殊情况下,它可能是值得处理的核心时间,可选毫米和时区。我亲自将它分成三部分。核心部分就像达维德所说的那样;其余的不同,但 – 2012-01-12 11:39:12