我有一个这样的字符串:
"20090212"
我希望转换为有效的C#datetime。
我是否需要解析它,因为这似乎太多了?
答案 0 :(得分:13)
您可以使用DateTime.ParseExact:
DateTime result =
DateTime.ParseExact("20090212", "yyyyMMdd", CultureInfo.InvariantCulture);
答案 1 :(得分:4)
查看DateTime.TryParseExact方法(MSDN)。我更喜欢TryParseExact方法到ParseExact方法,因为它返回一个布尔值,告诉你转换是否成功而不是抛出异常,但任何一个都可以。
答案 2 :(得分:2)
DateTime.ParseExact(str, "yyyyMMdd", CultureInfo.CurrentCulture);
......我真的怀疑我先到了那里。
虽然为了完整性,我更喜欢TryParseExact
DateTime dt;
if(DateTime.TryParseExact(str, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None, out dt)) {
// ... use the variable dt
}